Nicolas, the design of your version lacks composability. Also, i seriously think that read and write streams should not be married under same class. This could be a paradigm shift for many people, but not for me, since i dealt with real-time network communications in the past and can say that network communication based on bidirectional data flow really sucks, because it doesn't scale.. and don't works for more than 2 peers :) By its nature, data flow is unidirectional. Trying to unify things and present it as a bidirectional leads to bad code, bad usage patterns (see RemoteString) and endless discussions around 'do we need a multiple inheritance or not'. If i want to read from stream, i can do it like following: file := 'foo.txt' asFile. reader := file readXStream. reader next if i want to write something, i do writer := file writeXStream. writer nextPut: $x. and if i need to read & write both, then i probably should tell writer and reader to share same state, like file handle, cache, buffers etc, but not to be the same object. so, if i need to write, i should use writer, and if i need to read - i should use reader.. Concerning composability, this is a cornerstone of VW XTreams implementation. And after watching their presentation at ESUG, i can say that your implementation completely miss the point (sorry). Seeing how simple i can build complex parser(s) by composing multiple low-level parsers in PetitParser, nobody can convince me, that its a bad idea for streams. Why i can't simply do: reader := 'aaa.txt' asFile readXStream. utf8Reader := UTF8Reader on: reader. ? On 8 October 2010 00:51, Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com> wrote:
2010/10/7 Stéphane Ducasse <stephane.ducasse@inria.fr>:
pay attention that there are two xtreams package frameworks from what I understand
    one presented at esug and one developed by nicolas
Stef
Now, I wonder if I should not rename it SqueaXtream or something - apologize for not being Pharo-tically correct ;)
Nicolas
On Oct 7, 2010, at 4:58 PM, Sven Van Caekenberghe wrote:
On 06 Oct 2010, at 08:48, Nicolas Cellier wrote:
See also hijacked  http://www.squeaksource.com/XTream.html borrowing some of the ideas, but somehow less extreme. Most packages should now load in Pharo.
Hi Nicolas,
I have been looking at the ESUG 2010 slides & google code project pages of xstreams and I must say that I like this very much.
Your code on SS does indeed load in Pharo 1.1. 8 tests fail out of 37 with errors that I think are probably fixable. I am browsing it now.
Now my question is, first, do you have some write up somewhere explaining what you did and why, and second, what is the current state of your project and what are your future plans/goals ?
Thx,
Sven
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Best regards, Igor Stasenko AKA sig.