calysto_scheme
ferret
calysto_scheme | ferret | |
---|---|---|
4 | 8 | |
265 | 1,057 | |
1.5% | - | |
7.9 | 0.0 | |
8 months ago | over 1 year ago | |
Scheme | Makefile | |
BSD 3-clause "New" or "Revised" License | BSD 2-clause "Simplified" License |
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.
calysto_scheme
- How to Write a (Lisp) Interpreter (In Python)
-
Ask HN: What's the best Lisp for a Python hobbyist looking to learn?
Oh God, Newlisp. Don't worry about that. Start with Common Lisp. It's probably the most Pythonic in that it's built for building real applications in. SBCL is the open source implementation everyone seems to favor.
Runners up are Racket and Guile.
The "Lisps in Python" (like Hy and Hissp) are nice, but they're not very Lispy. More like Python with sexpr syntax. I recommend Calysto Scheme for messing around: https://github.com/Calysto/calysto_scheme
It's slow, but it's full Scheme.
- Lisp-Stick on a Python
- Calysto Scheme: a Scheme written in Scheme and translated into Python
ferret
- How to Write a (Lisp) Interpreter (In Python)
-
Ferret: A functional, lazy language for realtime embedded control systems
Seems like there has been no development since 2020 - https://github.com/nakkaya/ferret
-
Literate programming: Knuth is doing it wrong
The whole of ferret's source code is in a single org-mode file, following the literate programming style: https://github.com/nakkaya/ferret/blob/master/ferret.org
- Clojure – Differences with Other Lisps
-
Learning Clojure made me return back to C/C++
fyi there's some middle ground via ferret if you want to mix the two in the future. I think janet lang is more full featured, borrowing ideas from clojure while targeting simple embedding alongside c.
-
uLisp
Another commenter already mentioned Gambit Scheme. That provides for inline C and therefore very easy interop with external libraries. It still has a runtime and GC though - those might pose a problem depending on your platform and task.
Ferret (https://github.com/nakkaya/ferret) and Carp (https://github.com/carp-lang/Carp) are both Lisp-like low level languages. Both seem to be fairly experimental in nature though.
> anything but C
Taking you literally, Rust and D can both compile for bare metal. D in particular has a "Better C" subset. (https://dlang.org/spec/betterc.html)
In the same vein, Terra is a C like language (manual memory management) that you metaprogram with Lua. (https://github.com/terralang/terra)
Taking you very literally, Forth is also an option.
-
Writing a whole program in Org Mode
Impressive. Wonder how the performance in Emacs will be with a file this big... org source file
What are some alternatives?
microKanren - The implementation of microKanren, a featherweight relational programming language
janet - A dynamic language and bytecode vm
nyxt - Nyxt - the hacker's browser.
ulisp - A version of the Lisp programming language for ATmega-based Arduino boards.
py4cl - Call python from Common Lisp
Carp - A statically typed lisp, without a GC, for real-time applications.
makelisp - Lisp implementation in GNU make
Lua-RTOS-ESP32 - Lua RTOS for ESP32
etaoin - Pure Clojure Webdriver protocol implementation
Fennel - Lua Lisp Language
joker - Small Clojure interpreter, linter and formatter.
llvm-project - Fork of LLVM with Xtensa specific patches. To be upstreamed.