Common Lisp: Difference between revisions

From ArchWiki
(→‎Implementations: Split the hard to read paragraph into each Template:App above)
(Note that roswell installs quicklisp by default and is easier to set up)
 
(3 intermediate revisions by 3 users not shown)
Line 16: Line 16:
* {{App|[[Wikipedia:Embeddable Common Lisp|ECL]]|Embeddable Common Lisp: offers good C integration and embeddability.|https://common-lisp.net/project/ecl/|{{Pkg|ecl}}}}
* {{App|[[Wikipedia:Embeddable Common Lisp|ECL]]|Embeddable Common Lisp: offers good C integration and embeddability.|https://common-lisp.net/project/ecl/|{{Pkg|ecl}}}}
* {{App|[[Wikipedia:Steel Bank Common Lisp|SBCL]]|Steel Bank Common Lisp: features a highly optimized native code generating compiler with origins that date back to the early 90's, known for its precise type derivation and its strict conformance to the ANSI standard, it is particularly suited for general purpose and scientific programming and is a fork of CMUCL.|http://www.sbcl.org/|{{Pkg|sbcl}}}}
* {{App|[[Wikipedia:Steel Bank Common Lisp|SBCL]]|Steel Bank Common Lisp: features a highly optimized native code generating compiler with origins that date back to the early 90's, known for its precise type derivation and its strict conformance to the ANSI standard, it is particularly suited for general purpose and scientific programming and is a fork of CMUCL.|http://www.sbcl.org/|{{Pkg|sbcl}}}}
* {{App|[[Wikipedia:Common Lisp#List of implementations|Clasp]]|Clasp: a new Common Lisp implementation that seamlessly interoperates with C++ libraries and programs using LLVM for compilation to native code.|https://clasp-developers.github.io/|{{AUR|clasp-cl}}}}


== Quicklisp ==
== Quicklisp ==
Line 21: Line 22:
[https://www.quicklisp.org/beta/ Quicklisp] ({{Pkg|quicklisp}}) is a package manager written in common lisp for loading common lisp libraries. It works across all major common lisp implementations, and is the dominant choice for maintaining common lisp packages within the common lisp community.
[https://www.quicklisp.org/beta/ Quicklisp] ({{Pkg|quicklisp}}) is a package manager written in common lisp for loading common lisp libraries. It works across all major common lisp implementations, and is the dominant choice for maintaining common lisp packages within the common lisp community.


== SLIME ==
== Roswell ==


For the interactive experience that Common Lisp is known for, see [[slime]].
{{Pkg|roswell}} is full-stack environment for Common Lisp development, and has many features that makes it easy to test, share, and distribute your Lisp applications.
{{Pkg|roswell}} comes with quicklisp installed by default. It may be easier to set up for development than sbcl + quicklisp are standalone.
 
== IDE ==
 
there are 2 IDEs to make it easier to do common lisp development including:
 
* [[slime]].
* [https://joaotavora.github.io/sly sly]
* [https://github.com/lem-project/lem lem]


== See also ==
== See also ==
Line 30: Line 40:
* [https://cliki.net The Common Lisp Wiki]
* [https://cliki.net The Common Lisp Wiki]
* [http://www.lispworks.com/documentation/HyperSpec/Front Online Specification / Hyperspec]
* [http://www.lispworks.com/documentation/HyperSpec/Front Online Specification / Hyperspec]
* [http://clqr.boundp.org Common Lisp Quick Reference]
* [https://roswell.github.io Roswell]

Latest revision as of 09:36, 28 February 2024

Common Lisp is a highly dynamic multi-paradigm language that emphasizes interactivity and performance.

Implementations

There are multiple implementations available:

  • ABCL — Armed Bear Common Lisp: runs the Java virtual machine.
https://common-lisp.net/project/armedbear/ || abclAUR
  • CCL — Clozure Common Lisp is an implementation based on Open Macintosh Common Lisp: known for its fast compiling times.
https://ccl.clozure.com/ || cclAUR
  • CLISP — ANSI Common Lisp interpreter, compiler and debugger: offers good C integration and embeddability.
https://clisp.sourceforge.io/ || clisp
  • CMUCL — CMU Common Lisp: a POSIX only implementation that was originally developed at Carnegie Mellon.
https://www.cons.org/cmucl/ || cmucl
  • ECL — Embeddable Common Lisp: offers good C integration and embeddability.
https://common-lisp.net/project/ecl/ || ecl
  • SBCL — Steel Bank Common Lisp: features a highly optimized native code generating compiler with origins that date back to the early 90's, known for its precise type derivation and its strict conformance to the ANSI standard, it is particularly suited for general purpose and scientific programming and is a fork of CMUCL.
http://www.sbcl.org/ || sbcl
  • Clasp — Clasp: a new Common Lisp implementation that seamlessly interoperates with C++ libraries and programs using LLVM for compilation to native code.
https://clasp-developers.github.io/ || clasp-clAUR

Quicklisp

Quicklisp (quicklisp) is a package manager written in common lisp for loading common lisp libraries. It works across all major common lisp implementations, and is the dominant choice for maintaining common lisp packages within the common lisp community.

Roswell

roswell is full-stack environment for Common Lisp development, and has many features that makes it easy to test, share, and distribute your Lisp applications. roswell comes with quicklisp installed by default. It may be easier to set up for development than sbcl + quicklisp are standalone.

IDE

there are 2 IDEs to make it easier to do common lisp development including:

See also