aboutsummaryrefslogtreecommitdiff
path: root/environment.c
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2024-03-03 16:26:10 -0500
committerBruce Hill <bruce@bruce-hill.com>2024-03-03 16:26:10 -0500
commit74c86176cb2bc68f7a3c7b9c65d93184c8b7d959 (patch)
treeb9a873366583261d059afb89cd3634d6e91b7cc6 /environment.c
parent32f27b6206c542d53383654fffff27a3fcdbc168 (diff)
Tweaks and improvements to built-in functions
Diffstat (limited to 'environment.c')
-rw-r--r--environment.c48
1 files changed, 43 insertions, 5 deletions
diff --git a/environment.c b/environment.c
index 7729c3d1..1145e029 100644
--- a/environment.c
+++ b/environment.c
@@ -68,15 +68,53 @@ env_t *new_compilation_unit(void)
{"bits", "Int__bits", "func(x:Int)->[Bool]"},
{"abs", "Int__abs", "func(i:Int)->Int"},
{"min", "Int__min", "Int"},
- {"max", "Int__max", "Int"}
+ {"max", "Int__max", "Int"},
+ )},
+ {"Int32", Type(IntType, .bits=32), "Int32_t", "Int32", $TypedArray(ns_entry_t,
+ {"format", "Int32__format", "func(i:Int32, digits=0)->Str"},
+ {"hex", "Int32__hex", "func(i:Int32, digits=0, uppercase=yes, prefix=yes)->Str"},
+ {"octal", "Int32__octal", "func(i:Int32, digits=0, prefix=yes)->Str"},
+ {"random", "Int32__random", "func(min=0, max=0xffffffff)->Int32"},
+ {"bits", "Int32__bits", "func(x:Int32)->[Bool]"},
+ {"abs", "Int32__abs", "func(i:Int32)->Int32"},
+ {"min", "Int32__min", "Int32"},
+ {"max", "Int32__max", "Int32"},
+ )},
+ {"Int16", Type(IntType, .bits=16), "Int16_t", "Int16", $TypedArray(ns_entry_t,
+ {"format", "Int16__format", "func(i:Int16, digits=0)->Str"},
+ {"hex", "Int16__hex", "func(i:Int16, digits=0, uppercase=yes, prefix=yes)->Str"},
+ {"octal", "Int16__octal", "func(i:Int16, digits=0, prefix=yes)->Str"},
+ {"random", "Int16__random", "func(min=0, max=0xffffffff)->Int16"},
+ {"bits", "Int16__bits", "func(x:Int16)->[Bool]"},
+ {"abs", "Int16__abs", "func(i:Int16)->Int16"},
+ {"min", "Int16__min", "Int16"},
+ {"max", "Int16__max", "Int16"},
+ )},
+ {"Int8", Type(IntType, .bits=8), "Int8_t", "Int8", $TypedArray(ns_entry_t,
+ {"format", "Int8__format", "func(i:Int8, digits=0)->Str"},
+ {"hex", "Int8__hex", "func(i:Int8, digits=0, uppercase=yes, prefix=yes)->Str"},
+ {"octal", "Int8__octal", "func(i:Int8, digits=0, prefix=yes)->Str"},
+ {"random", "Int8__random", "func(min=0, max=0xffffffff)->Int8"},
+ {"bits", "Int8__bits", "func(x:Int8)->[Bool]"},
+ {"abs", "Int8__abs", "func(i:Int8)->Int8"},
+ {"min", "Int8__min", "Int8"},
+ {"max", "Int8__max", "Int8"},
)},
- {"Int32", Type(IntType, .bits=32), "Int32_t", "Int32", {}},
- {"Int16", Type(IntType, .bits=16), "Int16_t", "Int16", {}},
- {"Int8", Type(IntType, .bits=8), "Int8_t", "Int8", {}},
{"Num", Type(NumType, .bits=64), "Num_t", "Num", {}},
{"Num32", Type(NumType, .bits=32), "Num32_t", "Num32", {}},
{"Str", Type(StringType), "Str_t", "Str", $TypedArray(ns_entry_t,
- {"quoted", "Str__quoted", "func(s:Str, color=no)->Str"}
+ {"quoted", "Str__quoted", "func(s:Str, color=no)->Str"},
+ {"upper", "Str__upper", "func(s:Str)->Str"},
+ {"lower", "Str__lower", "func(s:Str)->Str"},
+ {"title", "Str__title", "func(s:Str)->Str"},
+ // {"has", "Str__has", "func(s:Str, target:Str, where=ANYWHERE)->Bool"},
+ // {"without", "Str__without", "func(s:Str, target:Str, where=ANYWHERE)->Str"},
+ // {"trimmed", "Str__without", "func(s:Str, skip:Str, where=ANYWHERE)->Str"},
+ {"title", "Str__title", "func(s:Str)->Str"},
+ // {"find", "Str__find", "func(s:Str, pattern:Str)->FindResult"},
+ {"replace", "Str__replace", "func(s:Str, pattern:Str, replacement:Str, limit=Int.max)->Str"},
+ {"split", "Str__split", "func(s:Str, split:Str)->[Str]"},
+ {"join", "Str__join", "func(glue:Str, pieces:[Str])->Str"},
)},
};