Skip to content

sidju/sid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sid

An experimental stack-based programming language with an LLVM code-generation backend.

SID uses reverse Polish notation: values are pushed onto a stack and functions consume values from the top. Programs are built from literals, labels, templates ((…) substacks, […] lists, {…} sets/structs, <…> scripts), and the invoke operator !.

See DESIGN.md for the full language specification.
See SPECULATIONS.md for ideas not yet being pursued.

Building

Without LLVM (interpreter only):

cargo build
cargo run --bin sid -- <source-file>

With LLVM backend (requires LLVM 18 — use the Nix dev shell):

nix develop -c cargo build --features llvm
nix develop -c cargo run --bin sid-llvm -- --emit-llvm

Testing

cargo test

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •