Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iddm/lir
A lisp implementation for the rust interop.
https://github.com/iddm/lir
clojure lir lisp rust
Last synced: 17 days ago
JSON representation
A lisp implementation for the rust interop.
- Host: GitHub
- URL: https://github.com/iddm/lir
- Owner: iddm
- License: mit
- Created: 2018-03-26T11:01:55.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-03-26T12:21:11.000Z (almost 7 years ago)
- Last Synced: 2024-11-19T06:35:03.457Z (3 months ago)
- Topics: clojure, lir, lisp, rust
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# LIR
A lisp implementation for the rust interop.The idea was to create a language that would satisfy the following criteria:
1. It is a LISP for Rust as Clojure for Java.
2. It ensures all the best things in Rust in LISP manner (type safety, compilation, crates)
3. It has full rust interop (we may call **Rust** functions from **LIR** and call **LIR** functions from rust).
4. It is compiled to **llvm** or **MIR** so it has both speed and performance and as good as **Rust** itself.
5. It has very minor differences in the LISP syntax from Clojure. Clojure provides a small amount of differences to Common Lisp in syntax as I think. The most important thing is that it is **comfortable for use** and **safe & efficient**.
6. It has minor differences in what **Rust** has for building. The best way is to refactor `rustc` so that it is possible to export some AST into `rust` ast or to produce `MIR` code using `librustc` without pain, or to patch `rustc` itself.# Are these criterias fixed?
No. They may evolve, at any time.# What's this repo for?
1. This repo will contain different design suggestions intended for discussion and choosing what is better. Something like RFC but less strict.
2. This repo will also gather all the issues for gathering the feedback. Ask anything, propose anything, contribute anything.# Who am I?
Don't think of it. I am not a language expert. I am not genius. My problem is that I like both Rust and LISP. I want to solve this problem.# Links
[Reddit post #1](https://www.reddit.com/r/rust/comments/86jm7m/thinking_about_lisplike_language_with_rust_interop/)