Skip to content

hidekuno/rust-elisp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Directory structure

crate instructions
elisp lisp interpreter
glisp GUI for drawing on GTK3
wasmlisp GUI for drawing on Web Assembly
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