[heresy-devel] Question about the innards of Heresy
Marco Antoniotti
marcoxa at cs.nyu.edu
Sat Mar 29 11:11:54 UTC 2008
On Mar 28, 2008, at 18:06 , Matt Lamari wrote:
>
> Well - the doc can be found here: http://cl-heresy.sourceforge.net/
> Heresy.htm
>
> Ultimately, there is the lazy-list class. The different sub-
> classes exist to facilitate certain internal optimizations, e.g.
> getting the CDR of a lazy-list that's just wrapping a lisp list.
>
> All subclasses of lazy-list are lazy-lists containing a function
> that yields a value and a "next" function. The extra data in each
> subclass allows for optimizations in certain situations.
>
> lazy-list-list-based <-- kind of self-evident
> lazy-list-under-cdrs <-- keeps a CDR count such that successive
> CDRs against same merely up the cdr-count. This one may be a
> candidate for removal.
>
>
> Let me know if I can be more specific in this or another direction.
Well, I am a little confused by all the subclassing and by the
similarly named functions. In particular I have a doubt. While the
API is Lisp/Haskell and while there is welcome support for thread
safety, how is Heresy different in concept from the iterators in CL-
CONTAINERS or the enumerations (shameless plug) or CL-ENUMERATIONS?
In any case, could you explain a little more in detail the rationale
for all the subclasses and the sematincs of and the need for keeping
a separate value slot?
Cheers
--
Marco
>
>
>
>
> Marco Antoniotti wrote:
>> Hi
>>
>> I am a bit puzzled by the innards of Heresy.
>>
>> Could anybody shed a little light (and documentation :) ) on the
>> actual role of all the different delayed classes that are there?
>>
>> Thanks
>>
>> --
>> Marco
>>
>> _______________________________________________
>> heresy-devel mailing list
>> heresy-devel at common-lisp.net
>> http://common-lisp.net/cgi-bin/mailman/listinfo/heresy-devel
>
--
Marco Antoniotti
More information about the heresy-devel
mailing list