So the latest ConfigurationOfXtreams found either in http://www.squeaksource.org/Xtreams or http://www.squeaksource.org/MetacelloRepository more or less load in Pharo3.0... More or less means that it still tries to load FFI which fails to compile... And I don't know why it loads, and i don't know why it fails... FFI is required only by Xtreams-Xtra which is not (or should not be) in the 'default' group for #'pharo3.x' It's not very important, because most of the Xtreams packages are already loaded when the failure occurs.
When i check with this, it does not tell me that it will load FFI (maybe because I have a version loaded?): ConfigurationOfXtreams project latestVersion fetch loadDirective. But when I load with this, it tries to compile FFI again: ConfigurationOfXtreams project latestVersion load. 2013/11/13 Nicolas Cellier <nicolas.cellier.aka.n...@gmail.com> > In original VW works, there is no FileDirectory nor FileReference nor > FileSystem nor... > So Xtreams-Terminals was thought as a dialect specific package... > Of course, these terminals are still 95% compatible between Squeak4.x and > Pharo3.x, so we can make a better packaging. > > Before deciding what is a good package delimitation, and what's not, I > wanted to experiment a bit without compatibility constraints. > So I created a .Pharo3 branch in Terminals and TerminalsTests. > There's a little more than FileDirectory references: I also used the > FileHandle class provided by FileSystem package, rather than > Xtreams-Support XTIOFileHandle. > > Anyway, the Squeak/Pharo version is way behind the visualworks version, so > yes, there is definitely some work needed. > Up to now, I diffed the versions in VW and manually ported to Squeak. > The good thing is that I can try to learn and understand the changes. > It is also mandatory to cop with the small differences (some VW method > might be absent in Squeak/Pharo and require a Xtreams-Support counterpart, > the classes need a XT prefix, ...). > The bad things are that > - there are many versions to integrate, and the history is not linear; > - I have only ten fingers, two eyes, and a single brain, the whole comes > with very limited multitasking capabilities. > There must be a better way, like trying to automate the port of shared > implementations, and review only the dialect-specific parts. > Or just put more brains, finger and eyes in the loop... > > > 2013/11/12 Frank Shearar <frank.shea...@gmail.com> > >> Yep, they do. build.squeak.org uses this repo. See also >> https://code.google.com/p/xtreams/issues/detail?id=2 >> >> About time for us to pick up this work? >> >> frank >> >> On 12 November 2013 21:29, Nicolas Cellier >> <nicolas.cellier.aka.n...@gmail.com> wrote: >> > And the tests pass, except the file tests which are based on creating a >> > stream thru (FileDirectory default / ...) >> > >> > >> > 2013/11/12 Nicolas Cellier <nicolas.cellier.aka.n...@gmail.com> >> >> >> >> Hi Sven, >> >> The last Squeak/Pharo locations I am aware of are: >> >> - http://www.squeaksource.org/Xtreams for the Xtreams package >> >> - http://www.squeaksource.org/MetacelloRepository for >> >> ConfigurationOfXtreams (but I just copied the last Config to above >> repo) >> >> A very important repository for resources of all kind from the original >> >> authors is https://code.google.com/p/xtreams/ >> >> >> >> Those versions above do not load in Pharo3.0 due to several problems >> >> - FileDirectory deprecation (there is an extension method that should >> be >> >> removed in Pharo branch) >> >> - Xtras package of Xtreams depends on FFI, and FFI does not load >> cleanly >> >> in Pharo (at least the one found from the ConfigurationOfXtreams) >> because >> >> ShortRunArray is not found... >> >> >> >> I will try and publish a Pharo branch, but before I do so, is anyone >> aware >> >> of more recent work, or repository? >> >> >> >> >> >> >> >> >> >> 2013/11/12 Sven Van Caekenberghe <s...@stfx.eu> >> >>> >> >>> Nicolas, >> >>> >> >>> Is it currently possible to load some latest version of Xtream into >> Pharo >> >>> 3.0 ? >> >>> >> >>> If yes, from which repository using which Configuration ? >> >>> >> >>> I know that at ESUG 2012, Sean and Martin worked a bit on getting all >> >>> different versions better in sync. >> >>> >> >>> It would be cool if we could at least load it, separate from the >> >>> transition strategy (I agree with your proposal BTW), because many >> people do >> >>> not know or have not seen what we are actually talking about. >> >>> >> >>> The clean, start from scratch approach of Xtreams also includes a much >> >>> tighter and semantically better defined API. IMHO, a consequence is >> that >> >>> #get / #next and #put: / #nextPut: are not just plain aliases (a >> modern use >> >>> of exception handling is one big difference). The compatibility layer >> might >> >>> be more of a challenge. >> >>> >> >>> The biggest gain is of course if clients switch to the newer API ;-) >> >>> >> >>> Sven >> >>> >> >>> On 12 Nov 2013, at 14:31, Nicolas Cellier >> >>> <nicolas.cellier.aka.n...@gmail.com> wrote: >> >>> >> >>> > It's just a matter of selecting a strategy. I've proposed two: >> >>> > A) create a wrapper class for legacy Stream compatibility selectors >> >>> > B) create extensions for Legacy Stream compatibility selectors >> >>> > My preference goes to A) >> >>> > >> >>> > The legacy support MUST be minimal (next nextPut: nextPutAll: peek >> >>> > upTo: ...), otherwise we will import all the cruft in Xtream and >> would go >> >>> > back to our starting point... >> >>> > Once the minimal support written (a few hours should be enough), we >> >>> > should gradually switch each every legacy Stream usage -> Xtream. >> >>> > >> >>> > An area which require more work is those Streams that have mixed >> >>> > conventions (one portion is interpreted as text, another as binary). >> >>> > In theory that's easy, we just have two streams and they both wrap >> on a >> >>> > low level binary stream, but that means we have to be very cautious >> with >> >>> > buffers and caches. >> >>> > >> >>> > Another area of work is usage of ugly selectors like name (we try to >> >>> > access the file name from the Stream API, arghh). Those usages are >> bad and >> >>> > require a rewrite. >> >>> > >> >>> > >> >>> > 2013/11/12 Stéphane Ducasse <stephane.duca...@inria.fr> >> >>> > >> >>> >> >> >>> >> or of course, you start looking at porting XStreams to pharo ;), >> which >> >>> >> on the long run will >> >>> >> solve many more problems. The current situation is not that >> >>> >> satisfactory >> >>> > >> >>> > having experience with it and thinking about a plan for the >> beginning >> >>> > of 40 would be great. >> >>> > I know that nicolas ported XTream to pharo/squeak. Now understanding >> >>> > how integrate it would be nice. >> >>> > Stef >> >>> > >> >>> > >> >>> >> >>> >> >> >> > >> >> >