sbcl
openfirmware
Our great sponsors
sbcl | openfirmware | |
---|---|---|
59 | 6 | |
1,766 | 96 | |
1.0% | - | |
9.9 | 0.0 | |
1 day ago | over 8 years ago | |
Common Lisp | Forth | |
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.
sbcl
-
Arena Allocation in SBCL
Based on the commit message [0], and the references to "user code" in this document, my guess is that user programs have or will have access, but it's not finalized enough to be documented.
That being said, I suppose if you're developing an internal API for a compiler/interpreter, your "users" could be other parts of the project rather than language users.
https://github.com/sbcl/sbcl/commit/7f65522a16d857e41aa61cd0...
-
Steel Bank Common Lisp 2.3.8 released: “a mark-region parallel GC is available”
See for example:
https://github.com/sbcl/sbcl/blob/master/doc/internals-notes...
- Implementing Interactive Languages
-
Garbage Collection in a Large Lisp System (1984) [pdf]
related: the Immix inspired parallel-mark-region GC developed by Hayley Patton (https://github.com/no-defun-allowed/swcl) got merged recently into SBCL.
https://github.com/sbcl/sbcl/blob/master/doc/internals-notes...
https://applied-langua.ge/~hayley/swcl-gc.pdf
build with
./make.sh --without-gencgc --with-mark-region-gc (on x86-64/Linux and x86-64/macOS only at the moment).
-
SBCL: merge of mark-region GC
The Immix inspired mark-region GC developed by Hayley Patton (https://github.com/no-defun-allowed/swcl) got merged recently, which is pretty cool news for SBCL users.
- Owner of Symbolics Lisp machines IP is interested in a non-commercial release
- Steel Bank Common Lisp
openfirmware
-
Thinking Forth
OpenFirmware has some code for paging! ;)
purpose: Set up page tables and turn on paging
https://github.com/openbios/openfirmware/blob/master/cpu/x86...
-
Hypertext '87 (1987) [pdf]
NeWS didn't use FORTH. But HyperTIES used both FORTH and NeWS because there were a lot of things that FORTH could do that NeWS couldn't, like link and call C code. The FORTH I used was Mitch Bradley's "Sun Forth", which evolved into OpenFirmware, and which was once defined by an IEEE standard, "IEEE 1275-1994", but it was withdrawn because the standard was not reaffirmed:
https://en.wikipedia.org/wiki/Open_Firmware
>Open Firmware is described by IEEE standard IEEE 1275-1994, which was not reaffirmed by the Open Firmware Working Group (OFWG) since 1998 and has therefore been officially withdrawn by IEEE.
It's still alive and maintained and used for many things. Here's the source code, called OpenBIOS:
- What to Learn
-
Moving Forth (1993)
Some Forth systems even have a "metacompiler" that lets one FORTH system compile another FORTH system for the same or different CPU, word size, byte order, threading model, etc, from the same source code!
OpenFirmware (the FORTH burnt into boot roms of SPARC, PowerPC, OLPC, and other systems) is a great example:
openfirmware/forth/kernel/metacompile.fth
https://github.com/openbios/openfirmware/blob/d5cc657ce81c0f...
- PostScript Language Reference [pdf]
What are some alternatives?
ccl - Clozure Common Lisp
forth - Porting Richard Jones' FORTH to ARM
abcl - Armed Bear Common Lisp <git+https://github.com/armedbear/abcl/> <--> <svn+https://abcl.org/svn> Bridge
qpdf - QPDF: A content-preserving PDF document transformer
sb-simd - A convenient SIMD interface for SBCL.
maths132-notes - Notes I wrote for Lee White's Maths 132 Differential Equations course, University of Melbourne, 1995-96
BQN - An APL-like programming language. Self-hosted!
cl-ppcre - Common Lisp regular expression library
maiko - Medley Interlisp virtual machine
seed7 - Source code of Seed7
common-lisp-jupyter - A Common Lisp kernel for Jupyter along with a library for building Jupyter kernels.
lisp-xl - Common Lisp Microsoft XLSX (Microsoft Excel) loader for arbitrarily-sized / big-size files