Does this have Clojure's persistent data structures? The docs say it has immutable data structures, which isn't exactly the same thing. (Edit: added the second sentence)
Those persistent data structures are implemented in Clojure aren't they? It's not a feature of the compiler I believe. So if it can run Clojure code then that code can be the persistent data structures library if you want.
Ferret – A free software Clojure implementation
21–30 of 83 posts
Re: Ferret – A free software Clojure implementation
#22Re: Ferret – A free software Clojure implementation
#23Always look at the memory management story when you stumble upon something like this.
* malloc/free (ref counting GC)
* memory pooling (no heap, stack-based for memory constrained systems)
* third party allocators
* third party GC
Details here: http://ferret-lang.org/#sec-4-2
Re: Ferret – A free software Clojure implementation
#24Re: Ferret – A free software Clojure implementation
#25Seems like a cool project if you already know Clojure and hate the start up time, but also seems like it sidesteps one of the main benefits of Clojure which is Java interop obviously... Which Clojure has to do a fair number of handsprings to accomplish. Begs the question, why pick Clojure as the lisp to compile to C++? Why not Racket or Common Lisp etc?
> Why not Racket or Common Lisp etc?
These already have solutions in the compilation space.
Kyoto Common Lisp (KCL), a fairly old implementation tracing back to the 1980's, and its descendant GNU Common Lisp (GCL) compile to C.
Embeddable Common Lisp (ECL) also contains a Lisp to C compiler.
Of course, numerous CL implementations compile to native code without the C route.
Re: Ferret – A free software Clojure implementation
#26Earlier quoted context omitted.
I kind of saw it as being intended for someone that loves Clojure but needs to run in a constrained environment that usually requires C or C++.
Aren't most of these environments low on memory and thus it doesn't really make sense for them to use Clojure's persistent data structures? Kinda related is this awesome paper: https://blog.acolyer.org/2015/11/27/hamt/
Re: Ferret – A free software Clojure implementation
#27Can anybody tell whether it supports multimethods and protocols?
Re: Ferret – A free software Clojure implementation
#28Viewing the site in iOS Safari, I get several pages of what appears to be random binary gunk rendered as HTML. Something wrong with compression headers?
Seems to be working fine for me on iOS. Any particular page that's broken for you?
Re: Ferret – A free software Clojure implementation
#29Re: Ferret – A free software Clojure implementation
#30Discovering this and [Clojerl]( https://github.com/jfacorro/clojerl ) within a week of each other is like Christmas come early.