Get low-level ops compiling

This commit is contained in:
Richard Feldman 2020-06-19 17:52:16 -04:00
parent b75f061f4f
commit dec5c3a062
19 changed files with 447 additions and 296 deletions

View file

@ -1,9 +1,10 @@
use crate::symbol::Symbol;
/// Low-level operations that get translated directly into e.g. LLVM instructions.
/// These are always wrapped when exposed to end users, and can only make it
/// into an Expr when added directly by can::builtins
#[derive(Clone, Debug, PartialEq)]
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub enum LowLevel {
ListLen { arg: Symbol },
/// List.len
ListLen,
Eq,
NotEq,
}