Thanks nicolas for checking that. Stef
> 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 > >>> > > >>> > > >>> > >>> > >> > > > > >