All Projects → coord-e → expressi

coord-e / expressi

Licence: Unknown, MIT licenses found Licenses found Unknown LICENSE-APACHE MIT LICENSE-MIT
Expression-oriented toy programming language written in Rust

Programming Languages

rust
11053 projects

Labels

Projects that are alternatives of or similar to expressi

Llvm
[MERGED UPSTREAM] AVR backend for the LLVM compiler library
Stars: ✭ 222 (+1205.88%)
Mutual labels:  llvm
Checkedc
Checked C is an extension to C that lets programmers write C code that is guaranteed by the compiler to be type-safe. The goal is to let people easily make their existing C code type-safe and eliminate entire classes of errors. Checked C does not address use-after-free errors. This repo has a wiki for Checked C, sample code, the specification, a…
Stars: ✭ 2,692 (+15735.29%)
Mutual labels:  llvm
vicis
Manipulate LLVM-IR in Pure Rust
Stars: ✭ 194 (+1041.18%)
Mutual labels:  llvm
Spirv Llvm Translator
A tool and a library for bi-directional translation between SPIR-V and LLVM IR
Stars: ✭ 223 (+1211.76%)
Mutual labels:  llvm
Rellic
Rellic produces goto-free C output from LLVM bitcode
Stars: ✭ 234 (+1276.47%)
Mutual labels:  llvm
Chigraph
A visual systems language for beginners compiled using LLVM
Stars: ✭ 247 (+1352.94%)
Mutual labels:  llvm
Symbiotic
Symbiotic is a tool for finding bugs in computer programs based on instrumentation, program slicing and KLEE
Stars: ✭ 212 (+1147.06%)
Mutual labels:  llvm
SCAF
A Speculation-Aware Collaborative Dependence Analysis Framework
Stars: ✭ 25 (+47.06%)
Mutual labels:  llvm
Weld
High-performance runtime for data analytics applications
Stars: ✭ 2,709 (+15835.29%)
Mutual labels:  llvm
sbt-instrumentation
Configurable instrumentation of LLVM bitcode
Stars: ✭ 31 (+82.35%)
Mutual labels:  llvm
Kazan
Mirror; Work-in-progress software-rendering Vulkan implementation
Stars: ✭ 226 (+1229.41%)
Mutual labels:  llvm
Llvm Ir Tutorial
LLVM IR入门指南
Stars: ✭ 232 (+1264.71%)
Mutual labels:  llvm
Dr checker
DR.CHECKER : A Soundy Vulnerability Detection Tool for Linux Kernel Drivers
Stars: ✭ 251 (+1376.47%)
Mutual labels:  llvm
Omniscidb
OmniSciDB (formerly MapD Core)
Stars: ✭ 2,601 (+15200%)
Mutual labels:  llvm
Kernel-Compile-Script
This is a collection of scripts aimed at streamlining the process of kernel compilation for improved efficiency and effectiveness.
Stars: ✭ 20 (+17.65%)
Mutual labels:  llvm
Jfs
Constraint solver based on coverage-guided fuzzing
Stars: ✭ 215 (+1164.71%)
Mutual labels:  llvm
Dg
[LLVM Static Slicer] Various program analyses, construction of dependence graphs and program slicing of LLVM bitcode.
Stars: ✭ 242 (+1323.53%)
Mutual labels:  llvm
Lesma
The Lesma Programming Language
Stars: ✭ 14 (-17.65%)
Mutual labels:  llvm
EffectiveSan
Runtime type and bounds-error checking for C/C++
Stars: ✭ 95 (+458.82%)
Mutual labels:  llvm
codebrowser
Woboq CodeBrowser
Stars: ✭ 985 (+5694.12%)
Mutual labels:  llvm

expressi

Build Status codecov

Expression-oriented toy programming language written in Rust

let add = a -> b -> a + b;
let succ = add(1);
let v = succ(succ(succ(1)));

let f = if v == 4 {
  a -> succ(a)
} else {
  a -> a
};
let x = f(10)

In this example, x is evaluated to 11.

TODO

  • Refine errors
    • Property organize error variants
    • Get rid of unwrap completely
    • Point where the cause is
  • Add EvalConstant transformer which calculates compile-time value
  • Implement operators as functions
  • User-defined types
    • Tuple
    • Enum
    • Struct
  • Multi-line input in REPL

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].