nanopass-framework-scheme
janet
nanopass-framework-scheme | janet | |
---|---|---|
7 | 79 | |
474 | 3,301 | |
0.0% | 0.4% | |
0.0 | 9.4 | |
over 1 year ago | 7 days ago | |
Scheme | C | |
MIT License | MIT 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.
nanopass-framework-scheme
- An ARM Assembler Written in Lisp
-
Best languages to design a new language in?
Well, this compiler framework in scheme might be worth looking.
- Any good source-to-source compiler guides?
-
Is there any research or articles on different, more efficient compiler designs?
Some serious level Conway's Law. I mean multipass isn't bad. It composes well, it minimizes coupling, etc etc. It doesn't necessarily have to hit disk, any store could be used. I myself like multipass taken to an extreme in nanopass, but at the same time, I absolutely adore the single pass nature of Wirthian languages.
-
How do i load an r6rs library in guile?
I am trying to use the nanopass framework with guile. I do not get that far :D I can't seem to figure out how guile's %load-path works.
-
Is Rust a good option to write a compiler?
I'd say Rust is the absolute best (by a considerable margin) for a production-ready implementation. For a compiler's course it should be a fine choice, but I'd also look at OCaml+Menhir or Scheme+nanopass as alternatives.
janet
-
Scriptable Operating Systems with Lua [pdf]
Seems like a perfect use-case for Janet. (https://janet-lang.org/) A fast minimal VM like Lua, but even more extensible than Lua by being a "Lisp" with macro and C extension capabilities. Not a true Lisp, it's very pragmatic and performance-oriented. But it keeps the good stuff.
-
Ask HN: A Lisp with Cargo/NPM like build system?
You might be looking for: https://janet-lang.org/
It comes with a build tool `jpm` which installs dependencies globally by default, but you can have it be installed in your project folder as well.
-
Babashka: Fast native Clojure scripting runtime
I like Clojure, but I never had any good opportunities to use it other than for a few small hobby projects. It is unfortunate that it is so huge with tons of dependencies and no simpler native implementation. I started looking at various LISPs and Schemes to find something lighter to use instead and ended up settling for Janet that I think is Clojure-like enough to be comfortable to use, but in a small native binary with no dependencies and can be embedded in other native programs. I am sure for big, real, projects that Clojure makes more sense, but for my hobby projects and scripts I do not think I will install it again. I am still happy for the things I learned from learning Clojure. It was a real eye-opener for an old OO-programmer.
https://janet-lang.org/
- Janet Language
- Why Fennel?
- Embeddable Common Lisp 23.9.9
-
Sharpscript: Lisp for Scripting
One might also check out Janet for quick scripting tasks.
https://janet-lang.org
-
Red Programming Language
Thanks!
I thought about another multiplatform, homoiconic, highly compact language: https://janet-lang.org/ (takes 803 kb on my machine).
It has no types though.
-
Systems Programming with Racket
Racket is great, and if you like it you might find Rash interesting:
https://rash-lang.org/
Janet and Gerbil Scheme are also worth a look:
https://janet-lang.org/
https://cons.io/
-
how did you finally reach Lisp enlightenment?
Point here is that, for instance Janet language does not have cons / pair type but tuple (and so is lispoid, not lisp), but clearly this is sufficient for macros & hence seamless language construction: all you need is to be a lispoid although being a lisp gives another useful feature.
What are some alternatives?
r7expander - R7RS expander
Fennel - Lua Lisp Language
blockly - The web-based visual programming editor.
get-started-with-clojure - Learn Clojure and Interactive Programming – Zero install
guile-json - JSON module for Guile
babashka - Native, fast starting Clojure interpreter for scripting
r6rs-pffi - Portable Foreign Function Interface (FFI) for R6RS
scheme-for-max - Max/MSP external for scripting and live coding Max with s7 Scheme Lisp
nanopass-framework-racket - nanopass compiler framework for Racket
ferret - Ferret is a free software lisp implementation for real time embedded control systems.
salsa - A generic framework for on-demand, incrementalized computation. Inspired by adapton, glimmer, and rustc's query system.
kaboom.js - 💥 JavaScript game library