Commit Graph

85 Commits

Author SHA1 Message Date
Scott Richmond
bc1eac46b8 validate forward declarations 2024-06-04 11:50:17 -04:00
Scott Richmond
d0a6cdbf54 parse fn forward declarations 2024-06-04 11:17:25 -04:00
Scott Richmond
3903f10c8d update in-code project management 2024-05-31 13:29:51 -04:00
Scott Richmond
8e03707f64 fix arity-checking bug; do not check arities in self-recursive function calls 2024-05-30 19:56:21 -04:00
Scott Richmond
524e3627fb get pkg validation access working for root pkg access, e.g. Foo :bar and Foo :bar 2024-05-30 19:38:00 -04:00
Scott Richmond
1dce69e239 work on pkgs 2024-05-23 19:33:19 -04:00
Scott Richmond
8b0954b8ec correctly parse pkgs, actually 2024-05-20 18:24:41 -04:00
Scott Richmond
4547c0747d correctly parse pkgs 2024-05-20 18:23:00 -04:00
Scott Richmond
70b6a1dcd7 correctly parse pkg-name and pkg-kw 2024-05-20 18:11:49 -04:00
Scott Richmond
23128902bc add pkg-kw tokens 2024-05-20 18:04:24 -04:00
Scott Richmond
94adf5e9d5 called keywords take only a single argument 2024-05-20 17:43:57 -04:00
Scott Richmond
1120f21df2 dict pattern matching 2024-05-19 20:19:00 -04:00
Scott Richmond
d249ee0b21 validate dict patterns, by validating pairs 2024-05-19 20:18:39 -04:00
Scott Richmond
e767c319b1 fix dict parsing 2024-05-19 20:18:22 -04:00
Scott Richmond
010b584ef1 partial function application! 2024-05-19 19:35:41 -04:00
Scott Richmond
ba1aa8ed03 comment out repl cruft 2024-05-19 19:35:30 -04:00
Scott Richmond
e5917c6284 partially applied functions don't kill validation 2024-05-19 19:15:22 -04:00
Scott Richmond
6bf4dde487 do expressions 2024-05-19 18:38:44 -04:00
Scott Richmond
822f5c0178 {stringify, ltype} -> imports from base 2024-05-19 18:24:11 -04:00
Scott Richmond
2415f3d437 bugfixes 2024-05-19 18:23:34 -04:00
Scott Richmond
a399669197 fix bugs, oops 2024-05-19 18:13:08 -04:00
Scott Richmond
e468add325 write most of a base 2024-05-19 18:04:08 -04:00
Scott Richmond
24bbef74aa add janet functions 2024-05-19 16:18:52 -04:00
Scott Richmond
a06014270f validate with passed context; don't die on builtin functions 2024-05-19 16:17:34 -04:00
Scott Richmond
608ab4ab67 stringify fns and bugfixes 2024-05-19 14:54:51 -04:00
Scott Richmond
70bff13eea add ref to main switch 2024-05-19 14:54:37 -04:00
Scott Richmond
8d3d9a2dc5 2big commit: stand up fns, definitions and calls, lots of bugfixes 2024-05-19 01:58:10 -04:00
Scott Richmond
265f867a71 fix string interpolation 2024-05-18 18:22:49 -04:00
Scott Richmond
5deab18356 string patterns should now be working 2024-05-18 17:43:21 -04:00
Scott Richmond
014da297d0 more cleanup still 2024-05-18 17:05:47 -04:00
Scott Richmond
88aaf864ab more cleanup 2024-05-18 17:05:14 -04:00
Scott Richmond
95054ef234 add match exprs 2024-05-18 17:04:23 -04:00
Scott Richmond
41cd39df2e check + compile string patterns; some cleanup, some messes still 2024-05-18 17:04:04 -04:00
Scott Richmond
32cf7d6cc4 add expr to match to matchh 2024-05-18 17:01:12 -04:00
Scott Richmond
b5d23b26ec ensure :errors is always a tuple or array, never nil; allows (empty? (scanner :errors)) to work as a test for errors 2024-05-18 17:00:18 -04:00
Scott Richmond
b0c912b16c don't die when trying to check arity of a nonexistent function 2024-05-16 13:57:23 -04:00
Scott Richmond
d5f593b0f3 tuple patterns, with splats! 2024-05-15 12:33:52 -04:00
Scott Richmond
e0919e771d bugfix 2024-05-15 12:33:34 -04:00
Scott Richmond
399f1fd4c7 make progress; WIP: interpreting pattern matching 2024-05-15 00:05:25 -04:00
Scott Richmond
3a8a236f01 start work on interpreter 2024-05-14 20:44:54 -04:00
Scott Richmond
c68d08e8b2 fix imports 2024-05-14 20:44:43 -04:00
Scott Richmond
3e9f38ef5c update notes 2024-05-14 18:56:18 -04:00
Scott Richmond
b6e1d0e6ec clean up files 2024-05-14 18:56:06 -04:00
Scott Richmond
bc17fe5006 successfully flag tail calls 2024-05-14 18:52:11 -04:00
Scott Richmond
5fbafbac94 make progress: many things 2024-05-14 18:41:21 -04:00
Scott Richmond
ec43aa3c67 accept newlines after arrows in fn clauses; make some asts mutable for validation 2024-05-14 18:41:07 -04:00
Scott Richmond
3225ea2472 improve pkg 2024-05-14 13:46:13 -04:00
Scott Richmond
67cd9d479b keywords must start with lower case 2024-05-14 13:45:41 -04:00
Scott Richmond
3b3071adb0 capture unvalidated notes from parser as todos 2024-05-13 21:07:27 -04:00
Scott Richmond
7018949845 a whole lot of a validator 2024-05-13 20:55:36 -04:00