caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* Implementation of lazy_t
@ 2008-11-10 16:31 Florian Lorenzen
  2008-11-10 17:01 ` [Caml-list] " David Teller
  2008-11-10 17:12 ` Mauricio Fernandez
  0 siblings, 2 replies; 5+ messages in thread
From: Florian Lorenzen @ 2008-11-10 16:31 UTC (permalink / raw)
  To: caml-list

[-- Attachment #1: Type: text/plain, Size: 860 bytes --]

Hello,

I would like to know how lazy datatype constructors are implemented in
OCaml. A look into the documentation of the Lazy module revealed that
the compiler uses a built-in type constructor lazy_t for this
purpose. Unfortunately, I could not find any information on lazy_t on
the web. My question is how lazy datatypes are handled internally
(without having to read the compiler's source code). Especially, if
lazy_t implements call-by-need in the sense that once evaluated
objects are not evaluated again (by means of sharing) or if it
implements call-by-name like one can do by inserting 0-ary lambda
abstractions in the constructor to suspend evaluation and applying
them to force evaluation?

Is there any documentation on the internals available or can someone
shine some light on this?

Thanks a lot and best regards,

Florian


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-11-13 10:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-11-10 16:31 Implementation of lazy_t Florian Lorenzen
2008-11-10 17:01 ` [Caml-list] " David Teller
2008-11-10 17:12 ` Mauricio Fernandez
2008-11-11  6:35   ` Andrej Bauer
2008-11-13 10:22   ` Florian Lorenzen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).