doc
cl-lsp
Our great sponsors
doc | cl-lsp | |
---|---|---|
8 | 13 | |
15 | 200 | |
- | - | |
7.0 | 0.0 | |
22 days ago | about 1 year ago | |
Common Lisp | TypeScript | |
GNU General Public License v3.0 or later | MIT License |
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.
doc
-
How do you think about version number management?
- it is possible to subscribe on the changes using RSS (this is a feature of the 40ANTS-DOC documentation builder).
-
From Common Lisp to Julia
So, the article is harsh on CL: YMMV. Also, your goal may vary: I want to build and ship (web) applications, and so far Julia doesn't look attractive to me (at all). Super fast incremental development, build a standalone binary and deploy on my VPS or ship an Electron window? done. Problem(s) solved, let's focus on my app please.
The author doesn't mention a few helpful things:
- editor support: https://lispcookbook.github.io/cl-cookbook/editor-support.ht... Emacs is first class, Portacle is an Emacs easy to install (3 clicks), Vim, Atom support is (was?) very good, Sublime Text seems good (it has an interactive debugger with stack frame inspection), VSCode sees good work underway, the Alive extension is new, usable but hard to install yet, LispWorks is proprietary and is more like Smalltalk, with many graphical windows to inspect your running application, Geany has simple and experimental support, Eclipse has basic support, Lem is a general purpose editor written in CL, it is Emacs-like and poorely documented :( we have Jupyter notebooks and simpler terminal-based interactive REPLs: cl-repl is like ipython.
So, one could complain five years ago easily about the lack of editor support, know your complaint should be more evolved than a Emacs/Vim dichotomy.
- package managers: Quicklisp is great, very slick and the ecosystem is very stable. When/if you encounter its limitations, you can use: Ultralisp, a Quicklisp distribution that ships every 5 minutes (but it doesn't check that all packages load correctly together), Qlot is used for project-local dependencies, where you pin each one precisely, CLPM is a new package manager that fixes some (all?) Quicklisp limitations
> [unicode, threading, GC…] All of these features are left to be implemented by third-party libraries
this leads to think that no implementation implements unicode or threading support O_o
> most of the language proper is not generic
mention generic-cl? https://github.com/alex-gutev/generic-cl/ (tried quickly, not intensively)
Documentation: fair points, but improving etc. Example of a new doc generator: https://40ants.com/doc/
Also I'd welcome a discussion about Coalton (Haskell-like type system on top of CL).
-
Kons-9 update – 3D Common Lisp system now on MacOS and Linux
Great news! Feedback: I guess it's time to start working on documentation ;) The readme doesn't say what the system does. I guess you could maintain a high overview "manually", and in parallel set up a documentation system (40ants doc is kinda cool). Best,
-
Favorite Lisp project? Shameless plugs welcome & encouraged!
- and 40ANTS-DOC builder.
-
Why Turtl Switched from Common Lisp to JavaScript
That is why I've put about half of this year into the Common Lisp documentation generator for all of my libraries.
If you are interested, please read it's docs and join the effort of making good documentation for CL projects: https://40ants.com/doc/
-
CL-TAR Project
And the doc is built with the new https://40ants.com/doc 🎉 Really cool.
- Does everyone here manually specify the entire project's dependency tree in .asd files?
cl-lsp
-
Show HN: Common Lisp Vim Compiler Plug-In
How this compares to using cl-lsp[1] with Neovim?
[1]: https://github.com/cxxxr/cl-lsp
-
Lisp language server
Does this count? https://github.com/cxxxr/cl-lsp
- Common Lisp language server?
- Emacs-like editors written in Common Lisp
- From Common Lisp to Julia
-
A Road to Common Lisp (2018)
It's a great article. Since then, we have more tools and resources so we can enhance it:
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, and Atom [and also VSCode] you can get pretty good to very good support. See https://lispcookbook.github.io/cl-cookbook/editor-support.ht... (also Lem, a CL editor that works for other languages, Jupyter notebooks, Eclipse (basic support) and LispWorks (proprietary, advanced graphical tools).
> 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
Other resources
I already linked to it, but 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 first 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... (ongoing -50% coupon for June).
Web Development
See the Cookbook, and the awesome list (see below). 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.
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, in the making, all done in CL: https://kandria.com/ (it just got accepted for a Swiss grant, congratulations).
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 again) 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
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, cl-gserver (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 and another JSON library (new ones since 2018 too), but that's a detail.
BTW, see also a list of companies: https://github.com/azzamsa/awesome-lisp-companies/
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
-
is CLISP still recommended to use ?
If you’re already a vs-code user, then I get that. And the facilities do exist to do Common Lisp in vs-code: https://github.com/cxxxr/cl-lsp
-
Common lisp LSP. Why there is no such a thing?
Third hit on DuckDuckGo https://github.com/cxxxr/cl-lsp
-
Why there is no new "modern" (Common) Lisp IDE?
You mean like cl-lsp, or the Alive Visual Studio Code extension? These are admittedly works in progress, but I'm sure you'd be very welcome to contribute since you care so much about it!
-
Common Lisp Study Group : Introduction to ASDF
By the way, there is already https://github.com/cxxxr/cl-lsp that provides some LSP support for Common Lisp. I believe there is no need to support LSP from asdf side ... you just need to write a bridge for it. I know the author personally and since he surely does not use VS code himself, I don't know that was his motivation in making this one.
What are some alternatives?
wookie - Asynchronous HTTP server in common lisp
clede
woo - A fast non-blocking HTTP server on top of libev
ctags - A maintained ctags implementation
weblocks - This fork was created to experiment with some refactorings. They are collected in branch "reblocks".
alive-lsp - Language Server Protocol implementation for use with the Alive extension
cl-permutation - Permutations and permutation groups in Common Lisp.
lem-opengl - OpenGL frontend for the Lem text editor
LispSyntax.jl - lisp-like syntax in julia
DifferentialEquations.jl - Multi-language suite for high-performance solvers of differential equations and scientific machine learning (SciML) components. Ordinary differential equations (ODEs), stochastic differential equations (SDEs), delay differential equations (DDEs), differential-algebraic equations (DAEs), and more in Julia.
kons-9 - Common Lisp 3D Graphics Project
roswell - intended to be a launcher for a major lisp environment that just works.