Hyperpolyglot Lisp: A Comprehensive Report
- Common Lisp, Racket, Clojure, and Emacs Lisp compared
- Idiomatic examples and best practices
- Cross-Lisp package management and interop
The Internet’s Verdict: 70% Hyped, 30% Skeptical
Introduction to Hyperpolyglot Lisp
Hyperpolyglot Lisp refers to the family of programming languages that include Common Lisp, Racket, Clojure, and Emacs Lisp.
Forum Voices
I know that the purpose of the page is to compare syntax of common lisp, racket, clojure, and emacs lisp. But some examples could be more idiomatic, for instance instead of
(defun add (a &rest b) (if (null b) a (+ a (eval (cons '+ b)))))One should avoid eval and use endp instead of null:
(defun add (a &rest b) (if (endp b) a (apply #'add (+ a (first b)) (rest b))))
Perhaps related, I’m maintaining a cheatsheet to let Python programmers see what an Elisp equivalent to typical Python functions/methods are. https://kickingvegas.github.io/elisp-for-python/
Conclusion
Hyperpolyglot Lisp offers a wide range of possibilities for developers. With the right resources and community support, it can be a powerful tool for building complex applications.
Focus Keyword: Lisp Comparison