serapeum
awesome-cl
serapeum | awesome-cl | |
---|---|---|
7 | 64 | |
410 | 2,458 | |
- | - | |
7.9 | 8.7 | |
3 days ago | 8 days ago | |
Common Lisp | Makefile | |
MIT License | 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.
serapeum
-
Steel Bank Common Lisp
> both are dynamic languages with types added later in?
Common Lisp has always had types and type declarations (e.g. `the` in the hyperspec[1]) as it's part of the specification. It was not added later as far as I know.
However, `declaim` and `declare` were left very underspecified so they tend to be very implementation-specific, though there are libraries that make types more portable[2][3].
[1] http://www.lispworks.com/documentation/HyperSpec/Body/s_the....
[2] https://github.com/lisp-maintainers/defstar
[3] https://github.com/ruricolist/serapeum/blob/master/REFERENCE...
-
LISP as a learning tool
From python in lisp I want the convenience for quick scripting, which lisp doesn't have by default but of course it can be added. For example for let's you easily iterate over lines of a file or files in a directory, or anything else you add. serapeum add's convenient syntax for hashmaps (dict and @), and threading macro and plenty of utility functions, defclass-std does the boilerplate of :initarg and :accessor for you for the common cases of class declarations.
-
I'm considering moving from Clojure to Common Lisp
+1 for Serapeum: https://github.com/ruricolist/serapeum/blob/master/REFERENCE.md
-
Compile-time exhaustiveness checking in Common Lisp with Serapeum
Serapeum is an excellent CL library, with lots of utilities. You should check it out. It provides a case-like macro, to use on enums, that warns you at compile-time if you handle all the states of that enum.
-
looking for Advent of Code Tips
Since Alexandria was mentioned may I mention Serapeum as well. Don't know if it's needed for AoC but it may be worth a look. Serapeum seems to get not enough mentions/ attention IMO.
-
Common Lisp intermediate book recommendation
Re: libraries; I'd like to mention serapeum which contains a ton of general purpose utilities.
-
SICL: A New Common Lisp Implementation
I consider Serapeum to be a revamp of the Common Lisp standard: https://github.com/ruricolist/serapeum/blob/master/REFERENCE.... This provides a bunch of new features and idioms including ideas borrowed from newer languages like Clojure.
Great example of "growing a language" as a long-term evolutionary process that doesn't require changing earlier specifications in incompatible ways.
awesome-cl
-
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
-
Why Lisp?
> static strong typing
Alright, here is it: https://github.com/coalton-lang/coalton/
> small efficient native binaries
The numbers are: with SBCL's core-compression, a web app with dozens on dependencies will weight ±30 to 40MB. This includes the compiler, the debugger, etc. Without core compression, we reach ±150MB.
> The actor runtime?
the actor library: https://github.com/mdbergmann/cl-gserver
> couldn't find a way to make money with it. I suspect many other programmers are in my boat.
Alright. Some do, that's life. Yes, some companies go with CL even in 2023 (https://lisp-journey.gitlab.io/blog/lisp-interview-kina/, they released https://github.com/KinaKnowledge/juno-lang lately; Feetr (finance): https://twitter.com/feetr_io/status/1587182923911991303)
https://github.com/azzamsa/awesome-lisp-companies/
> Give us an HTTP (1.x & 2.0) and WebSockets libraries
How so? We have those libraries. HTTP/2: https://github.com/zellerin/http2/
https://github.com/CodyReichert/awesome-cl
-
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?
trivial-cltl2 - Portable CLtL2
cl-str - Modern, simple and consistent Common Lisp string manipulation library.
cerberus - Common Lisp Kerberos v5 implementation
awesome-lisp-companies - Awesome Lisp Companies
playwright-java - Java version of the Playwright testing and automation library
coalton - Coalton is an efficient, statically typed functional programming language that supercharges Common Lisp.
defstar - Type declarations for defun et all. Just a mirror. Ask for push acess!
Petalisp - Elegant High Performance Computing
CIEL - CIEL Is an Extended Lisp
ocaml - The core OCaml system: compilers, runtime system, base libraries
quicklisp-client - Quicklisp client.
clog - CLOG - The Common Lisp Omnificent GUI