22 Apr 07:49
Re: Named shufflers (rethought of "factor-way locals" idea)
From: Maxim Savtchenko <pdunan@...>
Subject: Re: Named shufflers (rethought of "factor-way locals" idea)
Newsgroups: gmane.comp.lang.factor.general
Date: 2008-04-22 05:49:21 GMT
Subject: Re: Named shufflers (rethought of "factor-way locals" idea)
Newsgroups: gmane.comp.lang.factor.general
Date: 2008-04-22 05:49:21 GMT
Thank you for reply. Slot changers are juisy. Damn. It looks like I need git for all this beautiful bleeding-edge features. On Tue, Apr 22, 2008 at 8:33 AM, Eduardo Cavazos <wayo.cavazos@...> wrote: > Hi Maxim, > > I like your idea and think it's worth further exploration. > > You're right that the stream-read method you show is a little more awkward > than it should be. > > Here's one way I might go about implementing stream-read: > > Use inheritance > Factor out the counter update code > Use new slot accessors > > The 'adjust-counter' factor might look like this: > > : adjust-counter ( dns-stream string -- string ) > tuck > length > over counter>> + >>counter drop ; > > Or in terms of a slot changer: > > : adjust-counter ( dns-stream string -- string ) > tuck length [ + ] curry change-counter ; > > Then the 'stream-read' method becomes (using the new syntax): > > METHOD: stream-read { integer dns-stream -- str/f } > tuck > stream-read > adjust-counter ; > > Which isn't so bad. > > Using fry in 'adjust-counter' would yield: > > : adjust-counter ( dns-stream string -- string ) > tuck length '[ , + ] change-counter ; > > I'm experimenting with the idea of having quotations automatically fry if they > contain fry directives, so the above would be: > > : adjust-counter ( dns-stream string -- string ) > tuck length [ , + ] change-counter ; > > If inheritance turns out to not be a good solution here, you can just keep the > underlying stream in a slot and access it like you do via 'delegate'. > > By the way, I'm not making these suggestions to detract from your idea. I > think it's pretty cool and might come in handy in more complex cases. > > Ed > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Factor-talk mailing list > Factor-talk@... > https://lists.sourceforge.net/lists/listinfo/factor-talk > ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
RSS Feed