Hacker News new | ask | show | jobs
by hellofunk 3282 days ago
I think you will find that Clojure offers many of things that you like about Racket or CL, while also getting rid of a lot of the complexity of CL (CL is not really a functional language, and hardly can be considered an immutable one).

Clojurescript, which is nearly identical semantics to Clojure, also is quite a practical skill for front-end development.

2 comments

> (CL is not really a functional language, and hardly can be considered an immutable one)

It's important to note here though that this is a feature, not a bug. CL is a multi-paradigm and extremely pragmatic language.

I usually quip that Common Lisp and Perl are basically the same language, bit with different syntax. Not quite correct, obviously, but both languages give me that same pragmatic feel where having several approaches to the same problem is considered something desirable, not a defect.
perl also grabbed a lot of things from CL, like moose(their MOP, at least so I hear).
> this is a feature, not a bug

1) I never said it was a bug. 2) Whether CL's multi-paradigm nature is an advantage or not is subjective.

That's all what I meant. I read your comment as implying this is a bug; seems I was wrong.
The FSet functional collections library [0] greatly improves CL's support for functional programming.

[0] https://github.com/slburson/fset