Skip to content
/ delta Public

Delta is a statically typed, imperative language that uses LLVM as its backend.

License

Notifications You must be signed in to change notification settings

torcera/delta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Delta Logo

Delta is a statically typed, imperative language that uses LLVM as its backend.

Features

  • Struct access
  • String allocation / array of chars
  • If statement early return function type matching
  • Array slices?
  • GC

Building

Build source.

dune build

Compile and dump LLVM IR to llvm_bin/output.ll.

dune exec -- delta examples/example.dx

Compile dynamically linked C library.

gcc -shared -fPIC -o libsocket.so socket.c

Generate executable from LLVM IR linked with a specified library.

clang-19 -target x86_64-pc-linux-gnu llvm_bin/output.ll -o llvm_bin/output -L. -lsocket -Wl,-rpath=.

Generate executable from LLVM IR linked with libc.

clang-19 -target x86_64-pc-linux-gnu llvm_bin/output.ll -o llvm_bin/output -lc -Wl,-rpath=.

Format all OCaml and dune files.

opam exec -- dune fmt

Lint opam file(s).

opam lint

Contributing

TBD - Not open for contributions until stable version is implemented.

License

Delta source code is released under the Apache License 2.0.

About

Delta is a statically typed, imperative language that uses LLVM as its backend.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages