Live data from Hacker News

Ferret – A free software Clojure implementation

ferret-lang.org

21–30 of 83 posts

Re: Ferret – A free software Clojure implementation

#21

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.

They are a feature of the compiler - Clojure's are implemented in Java.

Re: Ferret – A free software Clojure implementation

#22
Does anyone have any insight on the legal status of this project? It’s licensed as BSD 2 Clause, but looks to be heavily derived from Clojure which is EPL. AFAIK the EPL is copyleft and doesn’t permit relicensing without the copyright holders’ permission.

Re: Ferret – A free software Clojure implementation

#23

Always look at the memory management story when you stumble upon something like this.

It seems well thought out:

* 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

#25
post #2

Seems 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?

The relationship with Java is both a benefit and a disadvantage of Clojure.

> 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

#26

Earlier 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/

[deleted]

Re: Ferret – A free software Clojure implementation

#28
post #13
post #6

Viewing 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?

The homepage, but just now I refreshed and it started working. Odd. (I’m pretty sure I tried refreshing before, and it didn’t work then.)
Post reply on HN