Vacietis | cproc | |
---|---|---|
7 | 10 | |
294 | 678 | |
- | - | |
0.0 | 8.7 | |
almost 2 years ago | 10 days ago | |
Common Lisp | C | |
GNU General Public License v3.0 or later | 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.
Vacietis
- List of (open source) C compilers
-
Rust's Poor Composability
Yes. Not because of the developer, but because of how extremely flexible and dynamic the Lisp-family languages are. The power and joy of Lisp is in how it's almost a meta-language, so every project can become its own EDSL. The most famous (infamous?) example of this is Vacietis[2], which is a Common Lisp library that allows C code to be imported directly(!!).
[0] IIRC the Yesod framework's Warp does well on benchmarks, and when you look at code like https://github.com/yesodweb/wai/blob/master/warp/Network/Wai... you can see the lengths they had to go through to work around the choice of implementation language.
[1] Go has a garbage collector, but exposes the stack/heap distinction more directly than Haskell, so it's easier to write allocation-free code in hot paths.
[2] https://github.com/vsedach/Vacietis
-
Any attempts at a "distro"/"package manager" for building a programming language?
racket and common lisp both offer reader interfaces which allow parsing non-s-expression languages. see https://github.com/vsedach/Vacietis , a c compiler implemented in common lisp which uses the common lisp reader.
-
C to php converter online
Very funny. One might be interested in e.g. Vacietis which does manage to compile enough of C correctly to a higher level language (in this case, Common Lisp) to be interesting.
-
CLOG Needs You :)
https://github.com/vsedach/Vacietis - C in CL
-
Compiler in Lisp
C
-
Wisp: A light Lisp written in C++
How about C?
https://news.ycombinator.com/item?id=25531871
https://github.com/vsedach/Vacietis
================
Vacietis is a C compiler for Common Lisp systems.
Vacietis works by loading C code into a Common Lisp runtime as though
cproc
-
Oasis – a small, statically-linked Linux system
Michaelforney has also built croc [1], a qbe based C compiler. Really impressive!
[1]: https://github.com/michaelforney/cproc
- List of (open source) C compilers
- Hand-optimizing the TCC code generator
-
Minias – A mini x86-64 assembler for fun and learning
A word of warning for those wondering: this is not for Intel syntax, despite referencing the Intel doc.
Minias can assemble itself
...but it's written in C and uses a parser generator? IMHO it feels a bit backwards --- and perhaps even a bit cheating if you're doing this for a "bootstrap pilgrimage" --- to write a lower-level tool in a higher-level language. On the other hand, the same author also links to a C compiler in C, without a parser generator: https://github.com/michaelforney/cproc
- Cproc C Compiler
-
Hacker News top posts: Aug 20, 2021
Cproc C Compiler\ (29 comments)
- A C11 compiler using QBE as a backend, released under the ISC license
What are some alternatives?
foth - Tutorial-style FORTH implementation written in golang
pl0c - Self-hosting PL/0 to C compiler to teach basic compiler construction from a practical, hands-on perspective.
yale-haskell - HASKELL: Yale Haskell system written in Lisp
qbe-rs - QBE IR in natural Rust data structures
sectorlisp - Bootstrapping LISP in a Boot Sector
minias - A mini x86-64 assembler for fun and learning.
quilc - The optimizing Quil compiler.
unix - Mirror of the Restoration of 1st Edition UNIX kernel sources from pdf document.
clog - CLOG - The Common Lisp Omnificent GUI
manim - A community-maintained Python framework for creating mathematical animations.
wisp - A lisp👽 written in C++
fpga_craft - A voxel game/Minecraft clone for the iCE40 UP5K FPGA