cl-skeleton
awesome-cl
cl-skeleton | awesome-cl | |
---|---|---|
1 | 66 | |
14 | 2,490 | |
- | - | |
3.4 | 8.7 | |
11 months ago | 7 days ago | |
Shell | Makefile | |
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-skeleton
awesome-cl
-
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
> quick python-like scripting
since we're at it, why not a batteries-included Common Lisp: https://github.com/ciel-lang/ciel it comes as a binary that starts fast and that includes libraries for mundane tasks.
(for more CL<->Python if anyone's interested: https://github.com/CodyReichert/awesome-cl?tab=readme-ov-fil...)
-
3 years of fulltime Rust game development, and why we're leaving Rust behind
I know you're not asking for recommendations, but Lisp, particularly SBCL, really seems to check all your boxes. I say this as someone who generally reaches for Scheme when it comes to Lisps too.
There are a few game engines[0] for CL, but most of them seem to be catered specifically to 2D games.
[0] https://github.com/CodyReichert/awesome-cl?tab=readme-ov-fil...
-
KamilaLisp – A functional, flexible and concise Lisp
Hello, a single counter-example I hope https://lispcookbook.github.io/cl-cookbook/editor-support.ht...
(see more from https://github.com/CodyReichert/awesome-cl?tab=readme-ov-fil...
https://cl-community-spec.github.io/pages/index.html
and some more)
-
Why Is Common Lisp Not the Most Popular Programming Language?
Everyone, if you don't have a clue on how's Common Lisp going these days, I suggest:
https://lisp-journey.gitlab.io/blog/these-years-in-common-li... (https://www.reddit.com/r/lisp/comments/107oejk/these_years_i...)
A curated list of libraries: https://github.com/CodyReichert/awesome-cl
Some companies, the ones we hear about: https://github.com/azzamsa/awesome-lisp-companies/
and oh, some more editors besides Emacs or Vim: https://lispcookbook.github.io/cl-cookbook/editor-support.ht... (Atom/Pulsar support is good, VSCode support less so, Jetbrains one getting good, Lem is a modern Emacsy built in CL, Jupyter notebooks, cl-repl for a terminal REPL, etc)
-
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)
-
Spinneret: A modern Common Lisp HTML generator
More HTML generators for CL: https://github.com/CodyReichert/awesome-cl#html-generators-a... there are lispy ones (Spinneret), Django-like ones (Djula, I like it, easy to use and extend), HTML-based allowing for inline Lisp code (Ten), JSX-like ones (lsx, markup), and more.
-
Common Lisp JSON parser?
https://github.com/CodyReichert/awesome-cl is usually a good place to find recommendations. Jzon is pretty good.
-
All of Mark Watson's Lisp Books
> obstacles add up
I actually agree. It wasn't smooth for me to ship my first CL app. It's all better now (more tools, more documentation, more blog posts from several people, more SO questions and answers!).
> performant
SBCL is in the same ballpack of C, Rust or Java in many benchmarks.
In this article series, the author writes the same program in CL, Rust and Java. In fact, he copy-pastes a PG snippet from 30 years ago. This snippet beats Rust and Java in LOC and speed. But, yeah, he wasn't writing super efficient Rust code, so after many discussions, pull requests and sweating, the Rust code became the most performant. https://renato.athaydes.com/posts/revisiting-prechelt-paper-... It didn't take work to make the CL code performant, more so for the Rust one ;)
a benchmark after sb-simd vectorization: https://preview.redd.it/vn5juu36v2681.png?width=715&format=p... (https://www.reddit.com/r/Common_Lisp/comments/riedio/quite_a...)
> good tools for networking, for writing concurrent or asynchronous code, for graphics,
I refer the reader to https://github.com/CodyReichert/awesome-cl but yes, CL won't have the best libraries in some scenarii (GUI? Tk libs are good, we have Gtk4, a Qt5 library used in production© by a big player but difficult to install etc)
> it doesn't give you a good package manager or means of distributing code
Quicklisp is neat, with limitations, that can be addressed with Qlot, ql-https, or CLPM or the newest ocicl.
-
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
What are some alternatives?
cl-str - Modern, simple and consistent Common Lisp string manipulation library.
awesome-lisp-companies - Awesome Lisp Companies
coalton - Coalton is an efficient, statically typed functional programming language that supercharges Common Lisp.
Petalisp - Elegant High Performance Computing
ocaml - The core OCaml system: compilers, runtime system, base libraries
clog - CLOG - The Common Lisp Omnificent GUI
cl-cookbook - The Common Lisp Cookbook
slimv - Official mirror of Slimv versions released on vim.org
paip-lisp - Lisp code for the textbook "Paradigms of Artificial Intelligence Programming"
cl-cuda - Cl-cuda is a library to use NVIDIA CUDA in Common Lisp programs.
hissp - It's Python with a Lissp.
hy - A dialect of Lisp that's embedded in Python