mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-28 14:24:45 +00:00
60 lines
1 KiB
Rust
60 lines
1 KiB
Rust
/// 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 {
|
|
StrConcat,
|
|
StrIsEmpty,
|
|
StrStartsWith,
|
|
StrSplit,
|
|
StrCountGraphemes,
|
|
ListLen,
|
|
ListGetUnsafe,
|
|
ListSet,
|
|
ListSetInPlace,
|
|
ListSingle,
|
|
ListRepeat,
|
|
ListReverse,
|
|
ListConcat,
|
|
ListContains,
|
|
ListAppend,
|
|
ListPrepend,
|
|
ListJoin,
|
|
ListMap,
|
|
ListKeepIf,
|
|
ListWalk,
|
|
ListWalkBackwards,
|
|
ListSum,
|
|
NumAdd,
|
|
NumAddWrap,
|
|
NumAddChecked,
|
|
NumSub,
|
|
NumMul,
|
|
NumGt,
|
|
NumGte,
|
|
NumLt,
|
|
NumLte,
|
|
NumCompare,
|
|
NumDivUnchecked,
|
|
NumRemUnchecked,
|
|
NumAbs,
|
|
NumNeg,
|
|
NumSin,
|
|
NumCos,
|
|
NumSqrtUnchecked,
|
|
NumRound,
|
|
NumToFloat,
|
|
NumPow,
|
|
NumCeiling,
|
|
NumPowInt,
|
|
NumFloor,
|
|
NumIsFinite,
|
|
NumAtan,
|
|
NumAcos,
|
|
NumAsin,
|
|
Eq,
|
|
NotEq,
|
|
And,
|
|
Or,
|
|
Not,
|
|
}
|