STklos
CSCMIC
STklos | CSCMIC | |
---|---|---|
7 | 2 | |
65 | 6 | |
- | - | |
9.5 | 0.0 | |
8 days ago | about 2 years ago | |
C | C | |
GNU General Public License v3.0 only | - |
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.
STklos
-
Oldest Scheme Implementations
STklos was indeed born in 2001, but it was the successor of Stk, which is much older. Its first release was in 1993. As far as I know, STkos did use code from STk, so I'm not sure one couldn't say it was born in 1993, as "STk".
-
Most readable Scheme implementation
That said, I'd just like to mention that I have made an effort to write internals documentation ( general: "hacking", bytecode: "vm") to STklos. It's an interesting implementation because it's easy to add primitives and change the compiler. The internals of the VM is actually a bit more complex... But it's really interesting code.
- STklos 1.70 was released
-
August 2021 - What are you up to schemers ?
I've been working on enhancing STklos' macro system. The idea is to implement `syntax-case` properly and use it to obtain a better implementation of `syntax-rules` (the one in STklos is quite old and has some issues).
-
STklos 1.60 released
SRFI 143 has already been accepted, and there are recent pull requests for 170, 215, 217! :)
CSCMIC
-
15+ year programming willing to help
Hi, I graduated with Chemical engineering and left a dead end job late last year in oil sector. I kind of dabbled in programming on and off for the 7 years before that, learning bits and pieces of C, swift, iOS development, C++, machine learning, even algorithms and data structures; but nothing really “took off”. I used to mainly code simple engineering calculators. But there’s only so many engineering calculators the world needs and so since December last year I started studying CS “properly” - I did SICP and I learnt the basics of interpreters, assembly and compilers. I wanted to gain more experience with C before I did systems so I wrote generic data structures in C, even implemented a subset of Scheme in C .
-
Show HN: A (barely usable) Scheme Interpreter in C
Next I tried to study parsing from his book but didn't find parsing to be as enjoyable. I then went to the dragon book , which I had found to be very dense the first time I flipped through it an year ago. This time I found it to be much more approachable, thanks again to what I had read in Nystrom's book. Precedence and associativity made more sense when I read it a second time. But it turns out that Scheme's grammar is really simple: Expr -> atom | '(' Expr ')', so I stopped reading and started coding.
It's barely usable because it has no GC, and I may have to rewrite it from scratch for implementing one. In the meantime I am thinking of doing a rewrite in Java, and then do part 3 from Crafting Interpreters, where the author implements everything in C.
Still very much a newbie, I welcome criticisms and directions for moving it forward.
[1] https://github.com/TectonicFury/CSCMIC
What are some alternatives?
LIPS - Scheme based powerful lisp interpreter in JavaScript
One - One (onelang) is an open-source system programming language that makes it easy to build reliable, efficient and performant software. (release as soon) 1️⃣ 🕐 🩱
ribbit - A small and portable Scheme implementation with AOT and incremental compilers that fits in 4K. It supports closures, tail calls, first-class continuations and a REPL.
Generic-C-DataStructures - A repository for code I wrote while learning to implement generic data structures in C
guile-gi - Bindings for GObject Introspection and libgirepository for Guile
CS50x-2021 - 🎓 HarvardX: CS50 Introduction to Computer Science (CS50x)
cyclone - :cyclone: A brand-new compiler that allows practical application development using R7RS Scheme. We provide modern features and a stable system capable of generating fast native binaries.
Rubinius - The Rubinius Language Platform
STk - STk is the ancestor of STklos (https://stklos.net) This repository contains fixes to allow the compilation of 4.0.1 on modern versions of GCC
Weechat - The extensible chat client.
husk-scheme - A full implementation of the Scheme programming language for the Haskell Platform.
free-programming-books - :books: Freely available programming books