2012-01-24 5 views

ответ

7

StreamJS позволяет создавать «бесконечные» списки в javascript.

Используя это (грубая) coffeescript port:

# Stream.range() creates a list from 1...Infinity 
numbers = Stream.range().until (x) -> x > 1000 
+1

Ссылка на SICP [раздел по потокам] (http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-24.html#%_sec_3.5), упомянутый на сайте streamJS. – hugomg

3

Не так, как в примитивах, но они могут быть взломаны, как на большинстве других языков. По крайней мере, кто-то играет с ним в CoffeeScript; см. https://github.com/swannodette/fun.coffee/blob/master/src/fun.coffee. Для решений, которые кажутся менее «взломанными», вы можете прочитать на CPS и поддерживать правильные хвостовые звонки, см. http://blog.mozilla.com/dherman/2011/01/30/proper-tail-calls-in-harmony/.

Смежные вопросы