--kbWGMJis2tDKAHkjuqM
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Version 0.1 of lazy.rb is out, yet again offering lazy evaluation in
Ruby, but with a new version number.

Along with the spiffy new version number, you get:

 * Lazy::DivergenceError, which is raised if a lazy computation diverges

 * saner exception handling:

   + exceptions in lazy computations could have confusing
     effects before; this version preserves the once-and-only-once
     evaluation policy, even in the presence of exceptions

   + exceptions raised while evaluating lazy computations are wrapped
     in Lazy::DivergenceError, so they can be distinguished from
     exceptions raised by strict code (the original exception can be
     obtained via Lazy::DivergenceError#reason)

 * nearly seamless implicit evaluation, thanks to Pit Capitain

 * a few more paragraphs of documentation

The web site (such as it is) is now here:

 http://moonbase.rydia.net/software/lazy.rb/

The script is here:

 http://moonbase.rydia.net/software/lazy.rb/0.1/lazy.rb

The documentation is here:

 http://moonbase.rydia.net/software/lazy.rb/0.1/doc/

I have some questions, also.

 * Would you all prefer "promise" or "lazy" for the promise-constructor
   function?

 * Should exceptions resulting from an explicit call to force() be
   unwrapped from their Lazy::DivergenceError?

 * Should the wrapper role of Lazy::DivergenceError be separated into
   a different exception class?

-mental

--kbWGMJis2tDKAHkjuqM
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQBDbVDvcUNIGiXCc4MRAnSUAJ0fAxiDUbWpWLXlDHql9DLPCIwlQQCgtkdn
opYoAyynvHohrzeNzfZy1D8߻/
-----END PGP SIGNATURE-----

--kbWGMJis2tDKAHkjuqM--