DISABLE FDs (REMOVE ME).
[jackhill/mal.git] / chuck / core.ck
1 public class Core
2 {
3 static string names[];
4 static MalSubr ns[];
5 }
6
7 ["+", "-", "*", "/",
8 "list", "list?", "empty?", "count",
9 "=", "<", "<=", ">", ">=",
10 "pr-str", "str", "prn", "println",
11 "read-string", "slurp",
12 "atom", "atom?", "deref", "reset!", "swap!",
13 "cons", "concat",
14 "nth", "first", "rest",
15 "throw",
16 "apply", "map",
17 "nil?", "true?", "false?", "number?", "symbol?", "keyword?", "vector?", "map?",
18 "symbol", "keyword", "vector", "hash-map",
19 "assoc", "dissoc", "get", "contains?", "keys", "vals",
20 "sequential?", "fn?", "macro?",
21 "readline", "meta", "with-meta",
22 "time-ms", "conj", "string?", "seq"] @=> Core.names;
23 MalSubr ns[0] @=> Core.ns;
24
25 new MalAdd @=> Core.ns["+"];
26 new MalSub @=> Core.ns["-"];
27 new MalMul @=> Core.ns["*"];
28 new MalDiv @=> Core.ns["/"];
29
30 new MalListify @=> Core.ns["list"];
31 new MalIsList @=> Core.ns["list?"];
32 new MalIsEmpty @=> Core.ns["empty?"];
33 new MalCount @=> Core.ns["count"];
34
35 new MalEqual @=> Core.ns["="];
36 new MalLess @=> Core.ns["<"];
37 new MalLessEqual @=> Core.ns["<="];
38 new MalGreater @=> Core.ns[">"];
39 new MalGreaterEqual @=> Core.ns[">="];
40
41 new MalPrStr @=> Core.ns["pr-str"];
42 new MalStr @=> Core.ns["str"];
43 new MalPrn @=> Core.ns["prn"];
44 new MalPrintln @=> Core.ns["println"];
45
46 new MalReadStr @=> Core.ns["read-string"];
47 new MalSlurp @=> Core.ns["slurp"];
48
49 new MalAtomify @=> Core.ns["atom"];
50 new MalIsAtom @=> Core.ns["atom?"];
51 new MalDeref @=> Core.ns["deref"];
52 new MalDoReset @=> Core.ns["reset!"];
53 new MalDoSwap @=> Core.ns["swap!"];
54
55 new MalCons @=> Core.ns["cons"];
56 new MalConcat @=> Core.ns["concat"];
57
58 new MalNth @=> Core.ns["nth"];
59 new MalFirst @=> Core.ns["first"];
60 new MalRest @=> Core.ns["rest"];
61
62 new MalThrow @=> Core.ns["throw"];
63
64 new MalApply @=> Core.ns["apply"];
65 new MalMap @=> Core.ns["map"];
66
67 new MalIsNil @=> Core.ns["nil?"];
68 new MalIsTrue @=> Core.ns["true?"];
69 new MalIsFalse @=> Core.ns["false?"];
70 new MalIsNumber @=> Core.ns["number?"];
71 new MalIsSymbol @=> Core.ns["symbol?"];
72 new MalIsKeyword @=> Core.ns["keyword?"];
73 new MalIsVector @=> Core.ns["vector?"];
74 new MalIsHashMap @=> Core.ns["map?"];
75
76 new MalSymbolify @=> Core.ns["symbol"];
77 new MalKeywordify @=> Core.ns["keyword"];
78 new MalVectorify @=> Core.ns["vector"];
79 new MalHashMapify @=> Core.ns["hash-map"];
80
81 new MalAssoc @=> Core.ns["assoc"];
82 new MalDissoc @=> Core.ns["dissoc"];
83 new MalGet @=> Core.ns["get"];
84 new MalIsContains @=> Core.ns["contains?"];
85 new MalKeys @=> Core.ns["keys"];
86 new MalVals @=> Core.ns["vals"];
87
88 new MalSequential @=> Core.ns["sequential?"];
89 new MalIsFn @=> Core.ns["fn?"];
90 new MalIsMacro @=> Core.ns["macro?"];
91
92 new MalReadline @=> Core.ns["readline"];
93 new MalMeta @=> Core.ns["meta"];
94 new MalWithMeta @=> Core.ns["with-meta"];
95
96 new MalTimeMs @=> Core.ns["time-ms"];
97 new MalConj @=> Core.ns["conj"];
98 new MalIsString @=> Core.ns["string?"];
99 new MalSeq @=> Core.ns["seq"];