|
|
|
|
|
by jhbadger
2671 days ago
|
|
The following function is valid in hy and clojure. (defn fact [x] (if (< x 2) 1 (* x (fact (- x 1))))) Yes, hy and clojure don't have access to the same libraries, but then neither do clojure and clojurescript, yet you'd agree that clojurescript is a dialect of clojure, yes? |
|
- Immutable and persistent data structures as the default
- Functional programming (no early returns or mutable bindings) as the default
- Reader literals for those data structures
- Concurrency primitives (including core.async)
- Protocols for polymorphism
From the hy docs: "Hy derives a lot from Clojure & Common Lisp, while always maintaining Python interoperability". Borrowing nice features where you find them is great, but it doesn't make it either a common lisp dialect or a clojure dialect. It just makes it a lisp with some similar stuff.