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 <[EMAIL PROTECTED]> 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
> [email protected]
> 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
_______________________________________________
Factor-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/factor-talk