#[repr(u16)]pub enum BuiltinId {
Show 136 variants
Length = 0,
Chomp = 1,
Chop = 2,
Substr = 3,
Index = 4,
Rindex = 5,
Uc = 6,
Lc = 7,
Ucfirst = 8,
Lcfirst = 9,
Chr = 10,
Ord = 11,
Hex = 12,
Oct = 13,
Join = 14,
Split = 15,
Sprintf = 16,
Abs = 17,
Int = 18,
Sqrt = 19,
Defined = 20,
Ref = 21,
Scalar = 22,
Splice = 23,
Reverse = 24,
Sort = 25,
Unshift = 26,
Open = 27,
Close = 28,
Eof = 29,
ReadLine = 30,
Printf = 31,
System = 32,
Exec = 33,
Exit = 34,
Die = 35,
Warn = 36,
Chdir = 37,
Mkdir = 38,
Unlink = 39,
Eval = 40,
Do = 41,
Require = 42,
Bless = 43,
Caller = 44,
PMap = 45,
PGrep = 46,
PFor = 47,
PSort = 48,
Fan = 49,
MapBlock = 50,
GrepBlock = 51,
SortBlock = 52,
Sin = 53,
Cos = 54,
Atan2 = 55,
Exp = 56,
Log = 57,
Rand = 58,
Srand = 59,
Crypt = 60,
Fc = 61,
Pos = 62,
Study = 63,
Stat = 64,
Lstat = 65,
Link = 66,
Symlink = 67,
Readlink = 68,
Glob = 69,
Opendir = 70,
Readdir = 71,
Closedir = 72,
Rewinddir = 73,
Telldir = 74,
Seekdir = 75,
Slurp = 76,
Swallow = 77,
Ingest = 78,
Burp = 79,
God = 80,
FetchUrl = 81,
Pchannel = 82,
GlobPar = 83,
DequeNew = 84,
HeapNew = 85,
Pipeline = 86,
Capture = 87,
Ppool = 88,
Wantarray = 89,
Rename = 90,
Chmod = 91,
Chown = 92,
Pselect = 93,
BarrierNew = 94,
ClusterNew = 95,
ParPipeline = 96,
GlobParProgress = 97,
ParPipelineStream = 98,
ParSed = 99,
ParSedProgress = 100,
Each = 101,
Readpipe = 102,
ReadpipeList = 103,
ReadLineList = 104,
ReaddirList = 105,
Ssh = 106,
Rmdir = 107,
Utime = 108,
Umask = 109,
Getcwd = 110,
Pipe = 111,
Files = 112,
Filesf = 113,
FilesfRecursive = 114,
Dirs = 115,
DirsRecursive = 116,
SymLinks = 117,
Sockets = 118,
Pipes = 119,
BlockDevices = 120,
CharDevices = 121,
Executables = 122,
Quotemeta = 123,
Tan = 124,
Asin = 125,
Acos = 126,
Atan = 127,
Sinh = 128,
Cosh = 129,
Tanh = 130,
Log2 = 131,
Log10 = 132,
Ceil = 133,
Floor = 134,
Round = 135,
}Expand description
Built-in function IDs for CallBuiltin dispatch.
Variants§
Length = 0
Chomp = 1
Chomp variant.
Chop = 2
Chop variant.
Substr = 3
Substr variant.
Index = 4
Index variant.
Rindex = 5
Rindex variant.
Uc = 6
Uc variant.
Lc = 7
Lc variant.
Ucfirst = 8
Ucfirst variant.
Lcfirst = 9
Lcfirst variant.
Chr = 10
Chr variant.
Ord = 11
Ord variant.
Hex = 12
Hex variant.
Oct = 13
Oct variant.
Join = 14
Join variant.
Split = 15
Split variant.
Sprintf = 16
Sprintf variant.
Abs = 17
Abs variant.
Int = 18
Int variant.
Sqrt = 19
Sqrt variant.
Defined = 20
Defined variant.
Ref = 21
Ref variant.
Scalar = 22
Scalar variant.
Splice = 23
Splice variant.
Reverse = 24
Reverse variant.
Sort = 25
Sort variant.
Unshift = 26
Unshift variant.
Open = 27
Open variant.
Close = 28
Close variant.
Eof = 29
Eof variant.
ReadLine = 30
ReadLine variant.
Printf = 31
Printf variant.
System = 32
System variant.
Exec = 33
Exec variant.
Exit = 34
Exit variant.
Die = 35
Die variant.
Warn = 36
Warn variant.
Chdir = 37
Chdir variant.
Mkdir = 38
Mkdir variant.
Unlink = 39
Unlink variant.
Eval = 40
Eval variant.
Do = 41
Do variant.
Require = 42
Require variant.
Bless = 43
Bless variant.
Caller = 44
Caller variant.
PMap = 45
PMap variant.
PGrep = 46
PGrep variant.
PFor = 47
PFor variant.
PSort = 48
PSort variant.
Fan = 49
Fan variant.
MapBlock = 50
MapBlock variant.
GrepBlock = 51
GrepBlock variant.
SortBlock = 52
SortBlock variant.
Sin = 53
Sin variant.
Cos = 54
Cos variant.
Atan2 = 55
Atan2 variant.
Exp = 56
Exp variant.
Log = 57
Log variant.
Rand = 58
Rand variant.
Srand = 59
Srand variant.
Crypt = 60
Crypt variant.
Fc = 61
Fc variant.
Pos = 62
Pos variant.
Study = 63
Study variant.
Stat = 64
Stat variant.
Lstat = 65
Lstat variant.
Link = 66
Link variant.
Symlink = 67
Symlink variant.
Readlink = 68
Readlink variant.
Glob = 69
Glob variant.
Opendir = 70
Opendir variant.
Readdir = 71
Readdir variant.
Closedir = 72
Closedir variant.
Rewinddir = 73
Rewinddir variant.
Telldir = 74
Telldir variant.
Seekdir = 75
Seekdir variant.
Slurp = 76
Read entire file as UTF-8 (slurp $path).
Swallow = 77
Glob-to-hash bytes reader (swallow $pattern).
Ingest = 78
Streaming glob-to-[path,bytes] iterator (ingest $pattern).
Burp = 79
Hash-to-disk writer — inverse of swallow (burp %h).
God = 80
Omniscient runtime introspection (god $x).
FetchUrl = 81
Blocking HTTP GET (fetch_url $url).
Pchannel = 82
pchannel() — (tx, rx) as a two-element list.
GlobPar = 83
Parallel recursive glob (glob_par).
DequeNew = 84
deque() — empty deque.
HeapNew = 85
heap(fn { }) — empty heap with comparator.
Pipeline = 86
pipeline(...) — lazy iterator (filter/map/take/collect).
Capture = 87
capture("cmd") — structured stdout/stderr/exit (via sh -c).
Ppool = 88
ppool(N) — persistent thread pool (submit / collect).
Wantarray = 89
Scalar/list context query (wantarray).
Rename = 90
rename OLD, NEW
Chmod = 91
chmod MODE, ...
Chown = 92
chown UID, GID, ...
Pselect = 93
pselect($rx1, $rx2, ...) — multiplexed recv; returns (value, index).
BarrierNew = 94
barrier(N) — thread barrier (->wait).
ClusterNew = 95
cluster(HOST_OR_LIST...) — build a RemoteCluster value used as
the dispatch target by pmap_on / ~d>. Operand shapes match
RemoteCluster::from_list_args: bare host ("h1"), host with
slot count ("h1:4"), host with explicit pe_path
("h1:3:/usr/local/bin/stryke"), or a hash with tunables
({ job_timeout_ms => N, max_attempts => M, ... }).
ParPipeline = 96
par_pipeline(...) — list form: same as pipeline but parallel filter/map on collect().
GlobParProgress = 97
glob_par(..., progress => EXPR) — last stack arg is truthy progress flag.
ParPipelineStream = 98
par_pipeline_stream(...) — streaming pipeline with bounded channels between stages.
ParSed = 99
par_sed(PATTERN, REPLACEMENT, FILES...) — parallel in-place regex substitution per file.
ParSedProgress = 100
par_sed(..., progress => EXPR) — last stack arg is truthy progress flag.
Each = 101
each EXPR — returns empty list.
Readpipe = 102
`cmd` / qx{...} — stdout string via sh -c (Perl readpipe); sets $?.
ReadpipeList = 103
`cmd` in list context — split stdout into one element per \n-terminated line.
ReadLineList = 104
readline / <HANDLE> in list context — all remaining lines until EOF (Perl readline list semantics).
ReaddirList = 105
readdir in list context — all names not yet returned (Perl drains the rest of the stream).
Ssh = 106
ssh HOST, CMD, … / ssh(HOST, …) — execvp style ssh only (no shell).
Rmdir = 107
rmdir LIST — remove empty directories; returns count removed (appended ID).
Utime = 108
utime ATIME, MTIME, LIST — set access/mod times (Unix).
Umask = 109
umask EXPR / umask() — process file mode creation mask (Unix).
Getcwd = 110
getcwd / pwd — bare-name builtin returning the absolute current working directory.
Pipe = 111
pipe READHANDLE, WRITEHANDLE — OS pipe ends (Unix).
Files = 112
files / files DIR — list file names in a directory (default: .).
Filesf = 113
filesf / filesf DIR / f — list only regular file names in a directory (default: .).
FilesfRecursive = 114
fr DIR — list only regular file names recursively (default: .).
Dirs = 115
dirs / dirs DIR / d — list subdirectory names in a directory (default: .).
DirsRecursive = 116
dr DIR — list subdirectory paths recursively (default: .).
SymLinks = 117
sym_links / sym_links DIR — list symlink names in a directory (default: .).
Sockets = 118
sockets / sockets DIR — list Unix socket names in a directory (default: .).
Pipes = 119
pipes / pipes DIR — list named-pipe (FIFO) names in a directory (default: .).
BlockDevices = 120
block_devices / block_devices DIR — list block device names in a directory (default: .).
CharDevices = 121
char_devices / char_devices DIR — list character device names in a directory (default: .).
Executables = 122
exe / exe DIR — list executable file names in a directory (default: .).
Quotemeta = 123
quotemeta / qm — backslash-escape every non-word character. Returns a
string suitable for safe interpolation into a regex (Perl \Q…\E form).
Appended at the end of the enum so the discriminants of all earlier
variants stay stable across rebuilds (script-cache compatibility).
Tan = 124
tan($x) — tangent. Pure float-in/float-out; lowers to fusevm Op::TanFloat.
Asin = 125
asin($x) — arcsine. Lowers to fusevm Op::AsinFloat (NaN outside [-1, 1]).
Acos = 126
acos($x) — arccosine. Lowers to fusevm Op::AcosFloat (NaN outside [-1, 1]).
Atan = 127
atan($x) — one-arg arctangent. Lowers to fusevm Op::AtanFloat.
Sinh = 128
sinh($x) — hyperbolic sine. Lowers to fusevm Op::SinhFloat.
Cosh = 129
cosh($x) — hyperbolic cosine. Lowers to fusevm Op::CoshFloat.
Tanh = 130
tanh($x) — hyperbolic tangent. Lowers to fusevm Op::TanhFloat.
Log2 = 131
log2($x) — base-2 logarithm. Lowers to fusevm Op::Log2Float.
Log10 = 132
log10($x) — base-10 logarithm. Lowers to fusevm Op::Log10Float.
Ceil = 133
ceil($x) / ceiling($x) — smallest integer ≥ x. Returns Int (matches
stryke’s f64::ceil() as i64 semantics). Lowers to the 2-op fusevm
sequence [CeilFloat, TruncInt], both committed in fusevm 0.14.0.
Floor = 134
floor($x) — largest integer ≤ x. Returns Int (matches stryke’s
f64::floor() as i64). Lowers to [FloorFloat, TruncInt].
Round = 135
round($x) (1-arg form) — round to nearest integer, ties AWAY from zero
(matches f64::round() as i64, e.g. 0.5→1, -0.5→-1). Lowers to the
any-value→int ext op STK_VAL_ROUND since the helper composes
to_number().round() as i64 in one call without needing a fusevm op.
The 2-arg form round($x, $places) keeps the interpreter path.
Implementations§
Trait Implementations§
impl Copy for BuiltinId
Source§impl<'de> Deserialize<'de> for BuiltinId
impl<'de> Deserialize<'de> for BuiltinId
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for BuiltinId
impl StructuralPartialEq for BuiltinId
Auto Trait Implementations§
impl Freeze for BuiltinId
impl RefUnwindSafe for BuiltinId
impl Send for BuiltinId
impl Sync for BuiltinId
impl Unpin for BuiltinId
impl UnsafeUnpin for BuiltinId
impl UnwindSafe for BuiltinId
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.Source§impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
Source§fn to_owned_obj(&self, data: FontData<'_>) -> U
fn to_owned_obj(&self, data: FontData<'_>) -> U
T, using the provided data to resolve any offsets.