From: MenTaLguY Date: 2005-11-06T09:39:55+09:00 Subject: [ANN] lazy.rb 0.1 --=-lkbWGMJis2tDKAHkjuqM 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 --=-lkbWGMJis2tDKAHkjuqM 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= =EXZ/ -----END PGP SIGNATURE----- --=-lkbWGMJis2tDKAHkjuqM--