* Clojure: A lot of support for immutable data. It runs in the JVM so you will have a lot of the libraries you are use to. Probably the best option for you. https://clojure.org/
* Scheme, in particular Racket: Mostly functional, and in particular Racket has a lot of support to make your own variant. This is the option <allcaps>I</allcaps> prefer but I have to disclaim it's a biased recommendation. https://racket-lang.org/
* Common Lisp: I heard a lot of good things about SBCL, in particular to add anotations to make the code faster https://www.sbcl.org/
> why this language is so special
Macros, everyone use macros, too many at the beginning, but a few where they are really necessary later.
#lang racket
(define-syntax-rule
(repeat3
body)
(begin
body
body
body))
(repeat3
(println "banana"))
;output:
;"banana"
;"banana"
;"banana"
mepian•4h ago
willschetelich•2h ago