Hi all,

Is there a policy for strictness of datatypes in Yi, and what is it? Specifically:

  1. When I write a datatype, which fields should I make strict? For
     instance, all fields in Editor are strict, and all fields except
     'height' and 'winRegion' in Window are strict. Is there some
     reasoning underlying this?
  2. What should I do to ensure strictness of lazy datatypes like [a]?
     For instance, the 'bufAccessList :: ![BufferRef]' field of
     'Window' is marked strict, but is a list. Is it the client's duty
     to ensure that this list is fully evaluated?

Would there be any objections to using the 'deepseq' package to ensure evaluation? The 'NFData' class is supported by Derive, so it might be possible to generate many instances automatically.

Cheers,
Reiner

--
Yi development mailing list
yi-devel@googlegroups.com
http://groups.google.com/group/yi-devel

Reply via email to