Ranter
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Comments
-
It really is :> got a Clojure app running in production <: i wanna add more and eventually contribute to more projects on github but i am not there yet.
Its awesome having more lispers here! -
gat0r485yThe syntax just looks so alien. Can I get my fill of functional awesome via Python? Or do I need to code in Lisp to truly grok it?
-
@gat0r python can do many FP things but it's not the greatest at it. You can definitely start learning FP principles in python though.
That's true for most mainstream languages. It won't be as smooth as a language that's explicitly designed for FP, like Haskell, and you may not get some of the fancier features commonly associated with FP languages (powerful type systems for example). But to start, almost anything would work. -
Shacham63185y@gat0r You CAN use Python altough it's certainly not the greatest at functional programming..
What I would recommend however, is that you try Hy
It's a Lisp dialect embedded into Python that's pretty much feature-complete!
"pip install hy" and you're good to go 😊 -
Shacham63185y@Ubbe Lisp, in its purest, does not contain any syntax-dedicated structures other than groupings and literals, which makes all features indistinguishable from a library.
The implications are huge!
Just imagine a language that's... Complete.
Where modern features, DSLs, are as simple to get as a "package-manager install".
Take async functions as an example:
"async function" is a popular modern language feature that has found its way into Javascript, Python, C#, and more.
Other languages, such as Go, chose a different approach with the 'go' keyword.
In Lisp, you don't have to wait for an update: You can implement this yourself!
You can implement it so that it looks like the async keyword:
"(defn myfunc [] (print-lol))"
to
"(async-defn myfunc[] (print-lol))"
and voila!
or you can say "nah, I like the 'go' keyword better", and it's very much possible to implement.
Everything is possible! it's incredible!
Holy shit Lisp is fucking incredible
devrant