Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
[Ann Lab419::functional] A stream implementation for Ruby
Robert Dober
1/16/2009 11:06:00 PM
Hi all
Streams are lazily evaluated lists. I have been inspired by James'
excellent blog about infinite streams, and the functional interface
of Scheme towards their usage.
But just in order to keep this short I have put all the links to the
release, documentation and other sources on the Labrador Rubyforge
Homepage.
http://labrador.rubyforge.org/...
Enjoy.
Robert
--
It is change, continuing change, inevitable change, that is the
dominant factor in society today. No sensible decision can be made any
longer without taking into account not only the world as it is, but
the world as it will be ... ~ Isaac Asimov
1 Answer
Brian Candler
1/19/2009 9:04:00 AM
0
Robert Dober wrote:
> Streams are lazily evaluated lists.
Aside: it is also possible to make use of infinite enumerators in Ruby
(i.e. a traditional 'each' method which yields an infinite number of
values), and this may be sufficient in some applications.
In order for this to be useful, you need to process chains of methods
acting 'horizontally' instead of 'vertically'. The block form of
Enumerator lets this be done natively in ruby 1.9:
http://redmine.ruby-lang.org/issue...
and with a little work, this can be made entirely transparent to map,
select etc:
http://redmine.ruby-lang.org/issue...
It turns out to be very easy to implement the block form of Enumerator
in ruby 1.8. I contributed an implementation of this to the Facets
project:
http://facets.rubyforge.org/git?p=facets.git;a=blob_plain;f=lib/lore/facets/enumerator....
http://facets.rubyforge.org/git?p=facets.git;a=blob_plain;f=lib/more/facets/filter....
Anyway, I just thought this was worth a mention. It's not as powerful as
full lazy evaluation, although if you combine this with Generators I
think it gets pretty close.
Regards,
Brian.
--
Posted via
http://www.ruby-...
.
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
[Ann Lab419::functional] A stream implementation for Ruby
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password