Skip to content

libdither/disp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

eb52e68 · Jan 14, 2025
Mar 2, 2024
Feb 11, 2022
Jan 29, 2024
Jan 14, 2025
Aug 1, 2024
Jan 8, 2025
Sep 16, 2023
Feb 21, 2023
Jan 29, 2024
Sep 15, 2023
Jan 14, 2025
Jan 14, 2025
Aug 24, 2023
Sep 7, 2023
Mar 1, 2024
Dec 30, 2024
Jan 29, 2024
Jul 27, 2024
Apr 21, 2022
Oct 21, 2022
Jan 29, 2024
Feb 21, 2023

Repository files navigation

Disp

Goals

  • All-purpose: Disp will be able to be used for scripting, shells, and compiled languages.
  • Speed: Disp will be as fast if not faster than Rust, C and adjacent languages, even when writing high-level code.
  • Provably Safe: Disp programs compiled to machinecode will carry proofs of correctness written for a software model of the target CPU.
  • Syntax-agnostic: Anyone from any language should be able to come to Disp without having to re-learn syntax preferences. This can be solved through various syntax variants of disp expressions that reflect the syntax of various languages.

Disp is still just a personal project as this stage. It is currently just a simple untyped lambda calculus evaluator and some math functions made using Church Encoding.

To Run:

nix develop
cargo run

load "std.disp"

Old Roadmap

Function that takes an untyped program and infers its type in a two-sort pure type system based on the calculus of inductive constructions.

Function that takes a typed program and generates a program that replaces inductive types with types that can be easily represented in binary. (i.e. translate Church encoded numbers into unsigned integers).

Function that takes program with supported types in addition to different translation strategies and generates relevant LLVM bytecode. (translation strategies are programs that say: "if I see this function and this type, I should generate this assembly).

Implementation Details

About

A decentralized language for the decentralized internet.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published