Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/robert-strandh/SICL
A fresh implementation of Common Lisp
https://github.com/robert-strandh/SICL
Last synced: 17 days ago
JSON representation
A fresh implementation of Common Lisp
- Host: GitHub
- URL: https://github.com/robert-strandh/SICL
- Owner: robert-strandh
- License: other
- Created: 2012-10-24T04:37:36.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2024-04-15T13:00:14.000Z (7 months ago)
- Last Synced: 2024-04-16T07:34:17.851Z (7 months ago)
- Language: TeX
- Size: 21.9 MB
- Stars: 1,051
- Watchers: 74
- Forks: 79
- Open Issues: 31
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE-BSD
Awesome Lists containing this project
README
# SICL: A new Common Lisp Implementation
This is the main source code repository for SICL.
## What is SICL?
SICL is a new implementation of Common Lisp. It is intentionally
divided into many implementation-independent modules that are written
in a totally or near-totally portable way, so as to allow other
implementations to incorporate these modules from SICL, rather than
having to maintain their own, perhaps implementation-specific
versions.## Quick Start
1. Make sure you have installed the dependencies:
[the Clonedijk repository]:https://github.com/robert-strandh/Clonedijk
[the Concrete-Syntax-Tree repository]:https://github.com/s-expressionists/Concrete-Syntax-Tree
[the ctype repository]:https://github.com/s-expressionists/ctype
[the Eclector repository]:https://github.com/s-expressionists/Eclector
[the Khazern repository]:https://github.com/s-expressionists/Khazern
[the Trucler repository]:https://github.com/s-expressionists/Trucler
[the Clostrum repository]:https://github.com/s-expressionists/Clostrum
[the Incless repository]:https://github.com/s-expressionists/Incless
[the Invistra repository]:https://github.com/s-expressionists/Invistra
[the trivial-package-locks repository]:https://github.com/yitzchak/trivial-package-locks
[the alexandria repository]:https://gitlab.common-lisp.net/alexandria/alexandria
[the architecture.builder-protocol repository]:https://github.com/scymtym/architecture.builder-protocol.git
[the s-expression-syntax repository]:https://github.com/scymtym/s-expression-syntax.git
[the Iconoclast repository]:https://github.com/robert-strandh/Iconoclast.git
[the Common Boot repository]:https://github.com/robert-strandh/Common-boot.git
[the Common Macros repository]:https://github.com/robert-strandh/Common-macros.git
[the Parcl repository]:https://github.com/robert-strandh/Parcl.git
[the Ecclesia repository]:https://github.com/s-expressionists/Ecclesia
[the Predicament repository]:https://github.com/robert-strandh/Predicament.git
[the Regalia repository]:https://github.com/robert-strandh/Regalia.git
[the Clostrophilia repository]:https://github.com/robert-strandh/Clostrophilia.git
[the Acclimation repository]:https://github.com/s-expressionists/Acclimation* A recent 64-bit version of SBCL
* The system "clonedijk", from [the Clonedijk repository]
* The system "cluster", from [the Cluster repository]
* The system "stealth-mixin", from [the Stealth-mixin repository]
* The system "concrete-syntax-tree", from [the Concrete-Syntax-Tree repository]
* The system "ctype", from [the ctype repository]
* The system "eclector", from [the Eclector repository]
* The system "khazern-intrinsic", from [the Khazern repository]
* The system "trucler-reference", from [the Trucler repository]
* The system "clostrum", from [the Clostrum repository]
* The system "incless-intrinsic", from [the Incless repository]
* The system "invistra/intrinsic", from [the Invistra repository]
* The system "trivial-package-locks", from [the trivial-package-locks repository]
* The system "alexandria", from [the alexandria repository]
* The system "architecture.builder-protocol", from [the architecture.builder-protocol repository]
* The system "s-expression-syntax", from [the s-expression-syntax repository]
* The systems in [the Iconoclast repository]
* The systems in [the Common Boot repository]
* The systems in [the Common Macros repository]
* The systems in [the Parcl repository]
* The system "ecclesia", from [the Ecclesia repository]
* The systems in [the Predicament repository]
* The systems in [the Regalia repository]
* The systems in [the Clostrophilia repository]
* The system "acclimation", from [the Acclimation repository]The bash script `get-dependencies.sh` will do this work for you.
2. Clone the [source] with `git`:
```
$ git clone https://github.com/robert-strandh/SICL
$ cd SICL
```3. Make sure the top-level directory can be found by ASDF.
4. Compile the boot system as follows:
```lisp
(asdf:load-system :sicl-new-boot)
```5. Change the package for convenience:
```lisp
(in-package #:sicl-new-boot)
```6. Create an instance of the BOOT class:
```lisp
(boot)
```Bootstrapping may take a few minutes.
7. Start a REPL:
```lisp
(repl4)
```[source]: https://github.com/robert-strandh/SICL
## Documentation
[Documentation]:https://github.com/robert-strandh/SICL/tree/master/Specification
Check the [Documentation] directory for more information.
[CONTRIBUTING.md]: https://github.com/robert-strandh/SICL/blob/master/CONTRIBUTING.md
## Getting Help and Contributing
The SICL community members are usually on various IRC channels. There
is now a dedicated channel called #sicl, but discussion can also be
found on #commonlisp, and #clasp. All these channels are on the
libera.chat network.[logs]:https://irclog.tymoon.eu/libera/%23sicl
[LICENSE-BSD]:https://github.com/robert-strandh/SICL/blob/master/LICENSE-BSD
Keep up on SICL by reading the IRC [logs]
If you want to contribute SICL, please read [CONTRIBUTING.md].
## License
SICL is primarily distributed under the terms of the BSD license.
See [LICENSE-BSD] for more details.