Rust for Clojurists
gist.github.com
Rust for Clojurists
1–10 of 44 posts
Re: Rust for Clojurists
#2Re: Rust for Clojurists
#3Re: Rust for Clojurists
#41. No explicit types: Everything in Clojure is just a list or hash map, so I can add extra members to anything at runtime no problem. The amount of static checks Rust does at compile time makes this non viable.
2. Fully immutable data structures: If my changes cause exceptions, then the program can just rewind and throw away the new state it was building, let me fix the error I made, and then continue on as if I never committed the broken code. In Rust an exception would mean I've potentially mutated state in a bunch of places, and now can't get back to the previous working state at all.
Re: Rust for Clojurists
#5They are called __clojurians__.
Re: Rust for Clojurists
#6Aside from the emphasis on mutability, I got nothing from this except bias. .jar files are an _advantage_, and the author comes across as a card-carrying member of the Rust Evangelism Strikeforce aiming to bring into the fold a small (but opinionated, and borderline influential) community :)
Re: Rust for Clojurists
#7Nice :)
Re: Rust for Clojurists
#8> You will remain a replaceable silhouette with no discernible identity.
> This isn't C or C++, where you just include files like a caveman.
>The upside is, you will curse it at compile-time instead of at runtime. The downside is, "exploratory programming" means exploring how to convince the compiler to let you try an idea.
After that it gets a bit more serious, but still a very good Saturday afternoon read.
Re: Rust for Clojurists
#9Aside from the emphasis on mutability, I got nothing from this except bias. .jar files are an _advantage_, and the author comes across as a card-carrying member of the Rust Evangelism Strikeforce aiming to bring into the fold a small (but opinionated, and borderline influential) community :)
Re: Rust for Clojurists
#10Good article. He missed out the main pro though (and literally the only reason I ever use any Lisp): hot swapping. The ability to change code on the fly as the program is running. For this to actually work you need 2 things: 1. No explicit types: Everything in Clojure is just a list or hash map, so I can add extra members to anything at runtime no problem. The amount of static checks Rust does at compile time makes t…