this post was submitted on 20 Feb 2026
9 points (100.0% liked)
Lisp Community
856 readers
6 users here now
A community for the Lisp family of programming languages.
Lisp (historically LISP) is a family of programming languages with a long history and a distinctive, fully parenthesized prefix notation. Originally specified in 1958, Lisp is the second-oldest high-level programming language. Only Fortran is older, by one year.
Related communities
- Clojure (lemmy.ml)
- Clojure (programming.dev)
- Lisp (programming.dev)
- Scheme (lemmy.ml)
- Scheme (programming.dev)
- Guix (lemmy.ml)
- Guix (infosec.pub)
- Emacs (lemmy.ml)
Language references
- Common Lisp
- Scheme
- Racket
- Clojure
Tools
- IDEs for CL
- Quicklisp (CL Library manager), Qlot (project-local library manager)
- ocicl (new library manager)
- Roswell (CL Environment Setup Utility)
Tutorials/FAQS
- lisp-lang.org
- The Common Lisp Cookbook
- Style Guide Norvig/Pitman
- Nikodemus' CL FAQ
- Google CL Style Guide (2014)
- A Road to Common Lisp (2018) (noob guide)
- Udemy Common Lisp course (videos, commercial)
- State of the CL Ecosystem 2022 · 2020 · 2015
- Where to get help with Common Lisp
Useful Lisp resources
- Common-Lisp.net
- Awesome CL (CL libraries)
- Planet Lisp
- Planet Scheme
- comp.lang.lisp
- CL Professionals Mailing List
- Lisp companies
- Wikipedia CL
- Stackoverflow Lisp questions, CL, Scheme
- Code Review (Lisp, CL, Scheme)
- Rosetta Code, CL
- Mailing Lists, more
- ANSI Clarifications and Errata
Search
Videos
Common Lisp
Clojure
Racket
Scheme
- MIT's SICP lectures
Books
- Free, Complete, On-line, Authorized
- Common Lisp: A Gentle Introduction to Symbolic Computation (Touretzky, 1990)
- Common Lisp: An Interactive Approach (Shapiro, 1992)
- The Common Lisp Cookbook / Original 2007
- Common Lisp The Language, 2nd Edition [Pre ANSI] (Steele, 1990)
- How to Design Programs (Felleisen, Findler, Flatt, Krishnamurthi)
- Lisp Outside the Box (unfinished, Levine, 2011)
- On Lisp (Graham, 1993)
- Paradigms of Artificial Intelligence Programming (Norving, 1992)
- Practical Common Lisp (Seibel, 2005)
- Programming Languages: Application and Interpretation (Scheme) (Shriram Krishnamurthi, 2007-2020)
- The Scheme Programming Language (Scheme) (R. Kent Dybvig, 2009)
- Structure and Interpretation of Computer Programs, HTML5/EPUB3 (Scheme) (Abelson/Sussman, 1996)
- Other Books
- ANSI Common Lisp (Graham, 1995)
- Common Lisp Recipes (Weitz, 2016)
- Land of Lisp (Barski, 2010)
- Let over Lambda (Hoyte, 2008)
- Lisp, 3rd Edition (Winston/Horn, 1989)
- Object-Oriented Programming in Common Lisp: A Programmer's Guide to CLOS (Keene, 1989)
- The Art of the Metaobject Protocol (Kiczales/des Rivières/Bobrow, 1991)
- Essential LISP (Anderson/Reiser/Corbett, 1986)
Food for thought
- An Intuition for Lisp Syntax
- Lambda the Ultimate
- Erik Naggum comp.lang.lisp archive
- Pascal Costanza's Highly Opinionated Guide to Lisp
Implementations
- CL Open Source
- CL Commercial
- Allegro CL
- LispWorks multiplatform, iOS and Android
- CL Developmental
- CL Historical
- mocl for OSX, iOS and Android
- Open Genera
- Scieneer CL
- CLiCC (CL→C)
- Corman Lisp (MS-Windows)
- Eclipse Common Lisp
- MKCL (fork of ECL)
- ThinLisp (CL→C)
- WCL (embeddable)
- Scheme TODO
Events
founded 6 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Erlang has that :).
Erlang OTP is great in particular since it can run a huge number of green processes, and orchestrate them as needed.
I stil find Lisps have the best tooling for REPL driven development though. I've worked with Clojure for many years, and it's still by far my favorite language because of the interactive workflow, I just couldn't go back now.
Pretty much everything has a REPL now. The Lisp machine was way ahead in terms of interactive debugging. I still can't believe that after all these years, stock Python doesn't have a way to trap to a debugger when your program throws an uncaught exception. I've never used Clojure though. I do think the language itself has some cool ideas.
Pretty much everything absolutely does not have a REPL you can connect an editor to and develop your application interactively. This workflow is still pretty much exclusive to Lisps today. There's a huge difference between having REPL as a standalone toy, and actually having it as an integral part of the workflow.
The way I develop applications in Clojure is by first running the whole app, then connecting my editor to it. I have access to the entire application state, any resources such as database connections, I can change any part of the application at runtime and see the results immediately. I can even connect to remote apps and debug an app in prod. When I write new code, I do it interactively step by step. I write a function, see that it works correctly, then write the next, and so on. At each step I know exactly what's going on because I'm running my code live. The only context I need to keep is the function I'm currently working on and the last one I wrote. Trying things, and making changes becomes a much tighter loop with this approach.
Python, Ruby, and even Forth have REPLs that I use all the time. Haskell sort of has one. Not C++ etc though.
I've just explained the difference between these REPLs and what Lisp REPL workflow is like. It's not comparable even in the slightest. Actually read what I wrote above and then try doing that in Python or Ruby.
@solrize @yogthos PicoLisp too