Earlier quoted context omitted.
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.
Ferret – A free software Clojure implementation
31–40 of 83 posts
Re: Ferret – A free software Clojure implementation
#32Earlier 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/
So the whole data structure isn't copied but only the relevant parts are added / updated in the tree and the rest is shared with the "new" data structure.
Mutable data structures are still more memory effective but I'm assuming its fine since the author has a blog post on using ferret on an Arduino Uno which has 32k of ram. https://nakkaya.com/2017/02/15/bare-metal-lisp-rc-control-us...
Clojure data Sturucture links: Persistent Vectors http://hypirion.com/musings/understanding-persistent-vector-...
Video with Rick hick on them https://youtu.be/wASCH_gPnDw?t=1742
Re: Ferret – A free software Clojure implementation
#33Does 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
#34Seems 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?
For me, I like being able to take EDN and immutable data to the various platforms I need. My portability hurdle is little more than writing alternative functions where Java/JS interop doesn't port.
Re: Ferret – A free software Clojure implementation
#35Re: Ferret – A free software Clojure implementation
#36http://ferret-lang.org/ferret-styles/favicon.ico
https://www.google.co.in/search?q=half+life+logo&oq=half+lif...
What is that all about...
Re: Ferret – A free software Clojure implementation
#37The favicon.ico of this site - looks exactly like half life logo. http://ferret-lang.org/ferret-styles/favicon.ico https://www.google.co.in/search?q=half+life+logo&oq=half+lif... What is that all about...
Re: Ferret – A free software Clojure implementation
#38The favicon.ico of this site - looks exactly like half life logo. http://ferret-lang.org/ferret-styles/favicon.ico https://www.google.co.in/search?q=half+life+logo&oq=half+lif... What is that all about...
It's the lambda symbol in a circle. Seems more like a coincidence than anything else to me.
That's the Half-Life logo, not a coincidence.
(And, just to prove how much I love Half-Life, my username is a Half-Life reference)
Re: Ferret – A free software Clojure implementation
#39Discovering this and [Clojerl]( https://github.com/jfacorro/clojerl ) within a week of each other is like Christmas come early.