Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hidekuno/rust-elisp
Mini lisp a like scheme in Rust
https://github.com/hidekuno/rust-elisp
docker gtk3 rust scheme sicp webassembly
Last synced: 18 days ago
JSON representation
Mini lisp a like scheme in Rust
- Host: GitHub
- URL: https://github.com/hidekuno/rust-elisp
- Owner: hidekuno
- Created: 2019-03-21T23:07:11.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-05-29T01:26:27.000Z (6 months ago)
- Last Synced: 2024-05-29T15:24:30.628Z (6 months ago)
- Topics: docker, gtk3, rust, scheme, sicp, webassembly
- Language: Rust
- Homepage:
- Size: 1.39 MB
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Implementation of Lisp (subset version) by Rust
=================## Overview
- Implemented a Lisp for Rust lessons. (It's Scheme base)
- As an implementation goal, we will provide an environment for easily operating a graphic program.## Quality
- Level at which a simple program works
- https://github.com/hidekuno/rust-elisp/tree/master/elisp/samples
- https://github.com/hidekuno/rust-elisp/blob/master/elisp/tests/integration_test.rs- I confirmed that the SICP graphic language program works.
- https://github.com/hidekuno/picture-language## Directory structure
| crate | instructions |
|--------|--------|
| [elisp] | lisp interpreter |
| [glisp] | GUI for drawing on GTK3 |
| [wasmlisp] | GUI for drawing on Web Assembly |
| [tinywasm](https://github.com/hidekuno/rust-elisp/tree/master/tinywasm) | Sample Program by Web Assembly|
| [weblisp] | Easy Web Serve(Test program for Multithreaded elisp) |
| zlearning |Program for my learning(Not related to elisp)|## Run on docker(hidekuno/rust-elisp)
### Requirement
- docker is running.
- X Server is running.(XQuartz 2.7.11 for mac)### Build(my operation log)
```
cd ${HOME}/rust-elisp/docker/glisp
docker build --target=glisp -t hidekuno/rust-elisp --file=./Dockerfile .
docker login
docker push hidekuno/rust-elisp
docker logout
```### macOS
```
docker pull hidekuno/rust-elisp
xhost +
docker run --name glisp -e DISPLAY=docker.for.mac.localhost:0 hidekuno/rust-elisp /root/glisp
```### Linux
```
docker pull hidekuno/rust-elisp
xhost +
docker run --name glisp -e DISPLAY=${host_ipaddr}:0.0 hidekuno/rust-elisp /root/glisp
```
### Windows11+WSL2+WSLg
```
docker pull hidekuno/rust-elisp
docker run -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=:0 --name glisp hidekuno/rust-elisp /root/glisp
```### For environments where the X server is not running
```
docker pull hidekuno/rust-elisp
docker run -it --name elisp hidekuno/rust-elisp /root/lisp
```## Run on docker(hidekuno/rust-elisp-wasm)
### Requirement
- docker is running.
### Build(my operation log)
```
cd ${HOME}/rust-elisp/docker/wasmlisp
docker build -t hidekuno/rust-elisp-wasm --file=./Dockerfile .
docker login
docker push hidekuno/rust-elisp-wasm
docker logout
```### RUN
```
docker pull hidekuno/rust-elisp-wasm
docker run --name wasmlisp -p 18080:8080 -d hidekuno/rust-elisp-wasm
```[elisp]: https://github.com/hidekuno/rust-elisp/tree/master/elisp
[glisp]: https://github.com/hidekuno/rust-elisp/tree/master/glisp
[wasmlisp]: https://github.com/hidekuno/rust-elisp/tree/master/wasmlisp
[weblisp]: https://github.com/hidekuno/rust-elisp/tree/master/weblisp