cl-series
cl-cookbook
cl-series | cl-cookbook | |
---|---|---|
1 | 55 | |
3 | 905 | |
- | 1.0% | |
- | 8.9 | |
about 4 years ago | 3 days ago | |
Common Lisp | JavaScript | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cl-series
-
The Loudest Lisp Program
On thing to keep in mind when you see the language, which evolved of several decades: it has low-level (go to, ...), mid-level (macros, ...) and high-level (CLOS + MOP) elements in one language. A reason for that: the low-level parts are code generation building blocks for the higher level parts. The SERIES library (a higher-level way to think about loops and sequences) uses macros (mid-level) to transform code into efficient loops (-> low-level): https://github.com/rtoy/cl-series
cl-cookbook
-
The Common Lisp Cookbook (2007)
Pretty sure this is the same project, from the chapter titles, as https://github.com/LispCookbook/cl-cookbook — last commit 9hrs ago.
- The Evolution of Lisp (1993) [pdf]
-
A Road to Common Lisp
It's a great article. Since 2018 though, we have more tools and resources so we can enhance it. (I copy/edit a comment of mine from last thread)
## Pick and Editor
The article is right that you can start with anything. Just `load` your .lisp file in the REPL. But even in Vim, Sublime Text, Atom/Pulsar, VSCode, the Jetbrains suite or Jupyter notebooks, you can get pretty good to very good support. See https://lispcookbook.github.io/cl-cookbook/editor-support.ht...
> if anyone is interested in making a Common Lisp LSP language server, I think it would be a hugely useful contribution to the community.
Here's a new project used for VSCode: https://github.com/nobody-famous/alive-lsp There's also https://github.com/cxxxr/cl-lsp
## Libraries
He doesn't mention this list, what a shame: https://github.com/CodyReichert/awesome-cl => the CL ecosystem is probably bigger than you thought. Sincerely, only recently, great packages appeared: CLOG, sento (actors concurrency), 40ants-doc, official CL support on OVH through Platform.sh, great editor add-ons (Slite test runner, Slime-star modules…), Coalton 1.0 (Haskell-like ML on top of CL), April v1.0 (APL in CL), a Qt 5 "library" (still hard to install), many more… (Clingon CLI args parser, Lish, a Lisp Shell in the making, the Consfigurator deployment service, generic-cl)…
His list is OK, I'd pick another HTTP client (Dexador instead of Drakma) and another JSON library (jzon or shasht), new ones since 2018 too, but that's a detail.
BTW, see also a list of companies: https://github.com/azzamsa/awesome-lisp-companies/ (nothing official, we add when we find one)
## Other resources
The Cookbook (to which I contribute) is a useful reference to see code and get things done, quickly. https://lispcookbook.github.io/cl-cookbook/
While I'm at it, my last shameless plug: after my tutorials written for the Cookbook and my blog, I wanted to do more. Explain, structure, demo real-world Common Lisp. I'm creating this course (there are some free videos): https://www.udemy.com/course/common-lisp-programming/?coupon... You'll learn CL efficiently and support an active Lisper.
## Web Development
See the Cookbook, and the awesome list. We have many libraries, you still have to code for things taken for granted in other big frameworks. I have some articles on my blog. I have a working Django-like DB admin dashboard, I have to finish the remaining 20%…
We have new very cool kids in town, especially CLOG, that is like a GUI for the browser. Check it out: https://github.com/rabbibotton/clog
## Game Development
See again the awesome-cl list. And the Kandria game, published on Steam, all done in CL: https://kandria.com/
## Unit Testing
We have even more test frameworks since 2018! And some are actually good O_o
## Projects
To create a full-featured CL project in one command, look no further, here's my (shameless plug) project skeleton: https://github.com/vindarel/cl-cookieproject you'll find the equivalent for a web project, lighter alternatives in the README, and a demo video: https://www.youtube.com/watch?v=XFc513MJjos&feature=youtu.be
## Community
We are also on Discord: https://discord.gg/hhk46CE and on Libera Chat.
## Implementations
CLASP (CL for C++ on LLVM) reached its v1.0, congrats. https://github.com/clasp-developers/clasp/releases/tag/1.0.0 More are in the making…
We got dynamic library delivery tool for SBCL (sbcl-librarian). There's a rumor from the European Lisp Symposium that a feature beginning in "co" and lasting in "routine" is coming to SBCL.
Allegro CL (proprietary) got a new version running in the browser…
Crazy Lisp world <3
-
Homoiconic Python
an actually difficult question! Different persons will absorb different things from articles, and will enjoy different projects as a first encounter. Pointers:
https://lispcookbook.github.io/cl-cookbook/ (and see the Emacs or the debugging pages to see what's possible)
see https://www.youtube.com/@CBaggers/playlists and either his introductions to Slime, either his introductions to CEPL to play with graphics interactively,
also for graphics, a new 3D system in development: https://www.youtube.com/watch?v=liaLgaTOpYE
for an overview of how thought through is REPL driven development in CL: https://mikelevins.github.io/posts/2020-12-18-repl-driven/
and, we are lucky (or cursed :] ), there are many more cool articles on the topic.
-
The Loudest Lisp Program
But after you get past some basic weird stuff, it's a quite wonderful language.
> I can only speak for myself, but I definitely reason about code outside in rather than inside out.
You can indent code to make it much easier to "parse", and use some macros that turn the code inside/out, it's more readable than most other languages.
The CL cookbook is an excellent resource, and this page links to several other excellent resources and books you can read for free online: https://lispcookbook.github.io/cl-cookbook/
The "new docs" also present the documentation in a "modern" looking way (rather than the 90's looks of what you get if you Google around): https://lisp-docs.github.io/cl-language-reference/
About other Lisps...
The Racket Guide is definitely not "bone-dry": https://docs.racket-lang.org/guide/intro.html
It is well written and looks very beautiful to me.
On another Scheme, I find Guile docs also great: https://www.gnu.org/software/guile/manual/html_node/index.ht...
They may be a bit more "dry" but they're to the point and very readable! In fact, I think Lisp languages tend to have great documentation.
-
Gamedev in Lisp. Part 1: ECS and Metalinguistic Abstraction
> the problem with Lisp is that it's sorta bundled with Emacs
What's the problems with Alive, SLT, Slyblime, and Vlime? I mean, I use Emacs, but I was using Emacs before getting into Scheme and CL anyway.
> Every website that teaches Lisp is in ugly HTML+CSS-only style
I dunno, I feel like the Community Spec (<https://cl-community-spec.github.io/pages/index.html>) and the Cookbook (<https://lispcookbook.github.io/cl-cookbook/>) are fine.
> I like the philosophy of (s-exp) but modern lisps have ruined its simplicity for me by introducing additional bracket notations [like this].
Yes, that additional notation is a terrible blight on the perfection that is S-expressions, I wholeheartedly agree.
-
Common Lisp: An Interactive Approach (1992) [pdf]
check out the editor section, there's more than Emacs these days: https://lispcookbook.github.io/cl-cookbook/editor-support.ht...
- https://github.com/CodyReichert/awesome-cl for libraries
- https://www.classcentral.com/report/best-lisp-courses/#ancho...
- a recent overview of the ecosystem: https://lisp-journey.gitlab.io/blog/these-years-in-common-li... (shameless plug, on HN: https://news.ycombinator.com/item?id=34321090)
-
A few newbie questions about lisp
Q4: the Cookbook should get you straight to the point: build a website, web scraper, DB access, reference of data structures… https://lispcookbook.github.io/cl-cookbook/
-
How to Understand and Use Common Lisp
It's a good book!
Modern companions would be:
- the Cookbook: https://lispcookbook.github.io/cl-cookbook/ (check out the editors section: Atom/Pulsar, VSCode, Sublime, Jetbrains, Lem...)
- https://github.com/CodyReichert/awesome-cl to find libraries
Also:
- https://stevelosh.com/blog/2018/08/a-road-to-common-lisp/
- https://news.ycombinator.com/item?id=34321090 2022 in review
-
Peter Norvig – Paradigms of AI Programming Case Studies in Common Lisp
https://leanpub.com/lovinglisp -- this one is great, and the first thing I recommend
https://lispcookbook.github.io/cl-cookbook/ -- also great and up to date
https://awesome-cl.com/ -- for anything else.
What are some alternatives?
coalton - Coalton is an efficient, statically typed functional programming language that supercharges Common Lisp.
racket - The Racket repository
woo - A fast non-blocking HTTP server on top of libev
roswell - intended to be a launcher for a major lisp environment that just works.
paip-lisp - Lisp code for the textbook "Paradigms of Artificial Intelligence Programming"
awesome-cl - A curated list of awesome Common Lisp frameworks, libraries and other shiny stuff.
awesome-lisp-companies - Awesome Lisp Companies
Pipenv - Python Development Workflow for Humans.
book - The Rust Programming Language
trivial-gamekit - Simple framework for making 2D games
learnxinyminutes-docs - Code documentation written as code! How novel and totally my idea!
clog - CLOG - The Common Lisp Omnificent GUI