ccl
language-server-protocol
ccl | language-server-protocol | |
---|---|---|
18 | 121 | |
816 | 10,725 | |
1.8% | 1.1% | |
7.7 | 8.7 | |
12 days ago | 3 days ago | |
Common Lisp | HTML | |
Apache License 2.0 | Creative Commons Attribution 4.0 |
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.
ccl
-
Don't Invent XML Languages (2006)
There's plenty of history of s-expression formats for documentation. One example is: https://github.com/Clozure/ccl/tree/master/doc/manual
But, also, there's plenty of uses of XML that are not "artcles and books". For example, Maven's pom.xml and log4j2.xml.
-
The IDEs we had 30 years ago and we lost
The descendant of CCL runs on modern Intel Macs. (It also runs on Linux and Windows but without the IDE.) The modern IDE is quite a bit different from the original. In particular, it no longer has the interface builder. But it's still pretty good. It is now called Clozure Common Lisp (so the acronym is still CCL) and you can find it here:
https://ccl.clozure.com/
If you want to run the original that is a bit of a challenge, but still possible. The original was never ported directly to OS X so you have to run it either on old hardware or an emulator running some version of the original MacOS, or on an older Mac running Rosetta 1. In the latter case you will want to look for something called RMCL. Also be aware that Coral Common Lisp was renamed Macintosh Common Lisp (i.e. MCL) before it became Clozure Common Lisp (CCL again).
This looks like it might be a promising place to start:
https://github.com/binghe/mcl
If you need more help try this mailing list:
https://lists.clozure.com/mailman/listinfo/openmcl-devel
- The Saga of the Closure Compiler, and Why TypeScript Won
-
Clozure CL 1.12.2
Download: https://github.com/Clozure/ccl/releases/tag/v1.12.2
-
plain-common-lisp: a lightweight framework created to make it easier for software developers to develop and distribute Common Lisp applications on Microsoft Windows
I was not aware that UIOP provided that function. plain-common-lisp used to be implemented with Clozure CL but eventually moved to SBCL due to the lack of maintenance of CCL. But now there is a hard dependency on SBCL.
- Clozure Common Lisp Wiki
-
Consuming HTTP endpoint using Common Lisp
I have decided it is time to have some fun and use Common Lisp to create algorithm representation that deals with parallel execution. For this I decided to use Clozure common lisp, put basic Qucklisp there and load some libraries to do this.
-
The Origins of Lisp
Lisp must be read outside->in to understand what it is saying. Given (foo (a) (b c)), if you don't know what foo is and just start reading (b c), which is inside, hoping that later you can work out what is foo, you could be going down a blind alley. foo could be a macro or special operator which entirely controls what (b c) means.
To understand what is calculated in Lisp, given that you understand what the syntax means, the evaluation is inside->out.
That's no different from math. In any languages that have math-like nested expressions with bracketing, you have inside-out evaluation.
The alternative are catenative languages and such, which have never been mainstream.
There are assembly languages which go line by line.
Imperative languages with statements and expressions tend to have small expressions where evaluation is followed inside-out; the rest of the control flow is just top down, with some forward and backward skips.
Lisp has all of the above in it. Lisp can be assembly language. For instance, in thsi source file from Clozure Common Lisp:
https://github.com/Clozure/ccl/blob/master/level-0/ARM/arm-h...
(defarmlapfunction fast-mod-3 ((number arg_x) (divisor arg_y) (recip arg_z))
- Corman Lisp development environment for MS Windows
language-server-protocol
-
Ollama is now available on Windows in preview
But these are typically filling the usecases of productivity applications, not ‘engines’.
Microsoft Word doesn’t run its grammar checker as an external service and shunt JSON over a localhost socket to get spelling and style suggestions.
Photoshop doesn’t install a background service to host filters.
The closest pattern I can think of is the ‘language servers’ model used by IDEs to handle autosuggest - see https://microsoft.github.io/language-server-protocol/ - but the point of that is to enable many to many interop - multiple languages supporting multiple IDEs. Is that the expected usecase for local language assistants and image generators?
-
The Mechanics of mutable and immutable references in Rust
If you tried writing code like the one above, your Rust LSP should already be telling you that what you're doing is unacceptable:
-
A guide on Neovim's LSP client
A language server is an external program that follows the Language Server Protocol. The LSP specification defines what type of messages a language server can receive, and also how it should respond. The idea here is that any tool that follows the LSP specification can communicate with a language server.
-
The IDEs we had 30 years ago and we lost
> There's a strange dance of IDEs coming and going, with their idiosyncracies and partial plugins.
The Language Server Protocol [1] is the best thing to happen to text editors. Any editor that speaks it gets IDE features. Now if only they'd adopt the Debug Adapter Protocol [2]...
[1] https://microsoft.github.io/language-server-protocol/
[2] https://microsoft.github.io/debug-adapter-protocol/
-
The More You Gno: Gno.land Monthly Updates - 6
The Gno Language Server (gnols) is an implementation of the Language Server Protocol (LSP) for the Gno programming language. It is similar to the equivalent “gopls” project for Go, as they can be plugged into your code editor through extensions and allow you to access handy features, such as autocompletion, formatting, and compile-time warnings/errors. Gnols makes writing code simpler, working with several editors to suit your preferences. To try it out, visit the CONTRIBUTING.md file, which contains instructions to get you started. Our current documentation targets Vim, Neovim, and SublimeText, but can likely be used with any editor that supports LSP. Feel free to contribute to improving Gnols and adding more features. It’s well-written, and simple to dive into the code and add more capabilities.
-
LSP could have been better
Honestly, you should read some of the docs [0] if these are the sorts of questions you're asking.
[0] https://microsoft.github.io/language-server-protocol/
-
Show HN: Postgres Language Server
hey HN. this is a Language Server[0] designed specifically for Postgres. A language server adds features to IDEs (VSCode, NeoVim, etc) - features like auto-complete, go-to-definition, or documentation on hover, etc.
there have been previous some attempts at adding Postgres support to code editors. usually these attempts implement a generic SQL parser and then offer various "flavours" of SQL.
This attempt is different because it uses the actual Postgres parser to do the heavy-lifting. This is done via libg_query, an excellent C library for accessing the PostgreSQL parser outside of the server. We feel this is a better approach because it gives developers 100% confidence in the parser, and it allows us to keep up with the rapid development of Postgres.
this is still in early development, and mostly useful for testers/collaborators. the majority of work is still ahead, but we've verified that the approach works. we're making it public now so that we can develop it in the open with input from the community.
a lot of the credit belongs to pganalyze[1] for their work on libg_query, and to psteinroe (https://github.com/psteinroe) who the creator and maintainer of the LSP.
[0] LSP: https://microsoft.github.io/language-server-protocol/
[1] pganalyze: https://pganalyze.com/
-
Refactoring tools
See: https://github.com/microsoft/language-server-protocol/issues/1164
-
Nx Console gets Lit
The nxls is a language server based on the Language Server Protocol (LSP) and acts as the “brain” of Nx Console. It analyzes your Nx workspace and provides information on it, including code completion and more.
-
How to configure vim like an IDE
LSP stands for "Language Server Protocol", which defines how a language server and an editor (client) can communicate to provide code navigation, completion, etc. (source). Traditional IDE's would have something similar to this baked-in already, but proprietary to their software/language; whereas LSP is an open standard, so anything could implement it.
What are some alternatives?
sbcl - Mirror of Steel Bank Common Lisp (SBCL)'s official repository
intellij-lsp-server - Exposes IntelliJ IDEA features through the Language Server Protocol.
sketch - A Common Lisp framework for the creation of electronic art, visual design, game prototyping, game making, computer graphics, exploration of human-computer interaction, and more.
tree-sitter-org - Org grammar for tree-sitter
lisp-interface-library - LIL: abstract interfaces and supporting concrete data-structures in Common Lisp
omnisharp-server - HTTP wrapper around NRefactory allowing C# editor plugins to be written in any language.
data-lens - Functional utilities for Common Lisp
tree-sitter - An incremental parsing system for programming tools
plain-common-lisp - A trivial way to get a native Common Lisp environment on Windows
magic-racket - The best coding experience for Racket in VS Code
land-of-lisp-using-hunchentoot - Convert code for "Dice of Doom" from Barski's "Land of Lisp" to use Hunchentoot web server.
friendly-snippets - Set of preconfigured snippets for different languages.