lisp-cheney
swcl
lisp-cheney | swcl | |
---|---|---|
1 | 8 | |
31 | 8 | |
- | - | |
4.0 | 0.0 | |
4 months ago | 3 days ago | |
C | Common Lisp | |
BSD 3-clause "New" or "Revised" License | 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.
lisp-cheney
-
Mini Lisp in under 1k lines of C: Cheney or mark-sweep GC, which is best?
A mini Lisp with Cheney GC
swcl
-
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.
-
ELS 2023 is today and tomorrow - and it's live on Twitch
Slides about the ongoing parallel garbage collector for SBCL: https://applied-langua.ge/~hayley/swcl-presentation.pdf (https://github.com/no-defun-allowed/swcl)
-
Garbage Collection benchmarks?
There is this document which details how the collector works.
-
Programming Language - Ranking
You want some steel wool for that, or...
-
Mini Lisp in under 1k lines of C: Cheney or mark-sweep GC, which is best?
I'm currently implementing Immix in SBCL (got generations working yesterday), but I wouldn't recommend one does that for a miniature implementation, as my implementation (though with hacks, performance tricks of dubious quality, and having to put the hysterical raisins somewhere) is about 1kLOC, and I haven't even gotten to writing compaction yet. A simple hybrid of mark-sweep and copying is the Lang-Dupont collector which copies one portion of the heap at a time, marking and reclaiming the rest in place.
-
Creator of SerenityOS announces new Jakt programming language
I say this while failing to design a parallel GC for SBCL for my second time; but I was unaware of the more clever RC schemes until recently, as nor myself nor my older colleagues seemed to have only used naive RC.
-
The self-hosted Zig compiler can now successfully compile itself
"the distributed system" is the first link, garbage collector is this link; again I wrote the backend for SICL as well as other parts, and I didn't say I made a language.
What are some alternatives?
yoctolisp - Tiny Scheme-like Lisp interpreter written in a weekend
gc-latency-experiment - Exploring some worst-case latencies in GCs, inspired by a post on GHC's runtime pause times: https://making.pusher.com/latency-working-set-ghc-gc-pick-two/
bdwgc - The Boehm-Demers-Weiser conservative C/C++ Garbage Collector (bdwgc, also known as bdw-gc, boehm-gc, libgc)
lisp - A mini Lisp in 1k lines of C with garbage collector, explained. Includes over 40 built-in Lisp primitives, floating point, strings, closures with lexical scope, macros, proper tail recursion, exceptions, execution tracing, file loading, a mark-sweep/compacting garbage collector and REPL.
janet - A dynamic language and bytecode vm
ocaml - The core OCaml system: compilers, runtime system, base libraries
tinylisp - Lisp in 99 lines of C and how to write one yourself. Includes 20 Lisp primitives, garbage collection and REPL. Includes tail-call optimized versions for speed and reduced memory use.
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
one-more-re-nightmare - A fast regular expression compiler in Common Lisp
lisp - Toy Lisp 1.5 interpreter
sbcl - Mirror of Steel Bank Common Lisp (SBCL)'s official repository