LIPS-scheme / lips

Scheme based powerful lisp interpreter in JavaScript
https://lips.js.org
Other
414 stars 34 forks source link

V8 Iterator helpers #351

Open jcubic opened 6 months ago

jcubic commented 6 months ago

V8 iterator helpers recently introduced feature doesn't play well with LIPS:

(iterator->array (--> (Iterator.from "foo") (map (lambda (x) (lips.LCharacter x)))))
;; ==> #("f" "o" "o")

(--> (Array.from "foo") (map (lambda (x) (lips.LCharacter x))))
;; ==> #(#\f #\o #\o)

Maybe we should not do exception for arrays (always unbox), this will be big breaking change and it will require to write vector-map in JavaScript. There will also be a need to write vector-reduce and vector-fold.