Merging in remote, implemented basics of List append in many modules

This commit is contained in:
Chad Stearns 2020-07-12 14:35:22 -04:00
commit f807947ce4
81 changed files with 8314 additions and 5180 deletions

View file

@ -0,0 +1,36 @@
/// 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(Debug, Copy, Clone, PartialEq, Eq)]
pub enum LowLevel {
ListLen,
ListGetUnsafe,
ListSet,
ListSetInPlace,
ListSingle,
ListRepeat,
ListReverse,
ListAppend,
ListPush,
NumAdd,
NumSub,
NumMul,
NumGt,
NumGte,
NumLt,
NumLte,
NumDivUnchecked,
NumRemUnchecked,
NumAbs,
NumNeg,
NumSin,
NumCos,
NumSqrtUnchecked,
NumRound,
NumToFloat,
Eq,
NotEq,
And,
Or,
Not,
}