Commit Graph

435 Commits

Author SHA1 Message Date
Scott Richmond
ff40d395f8 Repl things 2024-01-07 20:10:45 -05:00
Scott Richmond
307bebfa53 First pass at janet scanner 2024-01-07 20:10:16 -05:00
Scott Richmond
1520b1d8e7 Repl cruft 2023-12-31 18:37:19 -05:00
Scott Richmond
14780bf6b8 First pass at new state model: all refs are included in results. 2023-12-27 12:24:12 -05:00
Scott Richmond
afb8bacb25 Stand up automated js/tap-based test harness framework. 2023-12-24 17:08:02 -05:00
Scott Richmond
20ea25761a Remove conflicting repl cruft. 2023-12-24 15:59:31 -05:00
Scott Richmond
b5d57cd96c Testing hits all the desiderata. 2023-12-24 15:53:40 -05:00
Scott Richmond
b6eeaa1d3e Stand up basic testing 2023-12-24 15:23:53 -05:00
Scott Richmond
b723532d1a Add testing status to run 2023-12-24 14:22:16 -05:00
Scott Richmond
7a2c404daf Light testing 2023-12-24 14:16:08 -05:00
Scott Richmond
7541d2499d Change interpreter (just change name of binding in interpret-repeat 2023-12-24 14:12:50 -05:00
Scott Richmond
a6d64ff827 Change grammar 2023-12-24 14:11:49 -05:00
Scott Richmond
3a50910e3d Fix bug where partially applied called keyword returns nil 2023-12-18 00:42:44 -05:00
Scott Richmond
b12b49c197 Fix cljs/clj bug 2023-12-18 00:22:42 -05:00
Scott Richmond
be2c91b7dc Fix line number reporting bugs: look for lines in the right place. 2023-12-18 00:20:34 -05:00
Scott Richmond
4e646101e2 Remove duplicate error messages. 2023-12-17 23:16:12 -05:00
Scott Richmond
53b71fe790 Panic is now a form, not a function. 2023-12-17 23:13:50 -05:00
Scott Richmond
84e3356758 Remove from prelude 2023-12-17 19:17:03 -05:00
Scott Richmond
e38fc47478 Remove from interpreter 2023-12-17 19:16:45 -05:00
Scott Richmond
7c7b556115 Remove from grammar 2023-12-17 19:15:25 -05:00
Scott Richmond
0e6a71348e Remove struct from scanner 2023-12-17 19:13:32 -05:00
Scott Richmond
60c44d8923 First draft bugfix 2023-12-17 19:00:31 -05:00
Scott Richmond
feb02dc1b6 Continual improvement 2023-12-14 19:55:33 -05:00
Scott Richmond
63fccc16cd Keep on trucking with more/better docs. 2023-12-13 20:42:50 -05:00
Scott Richmond
421114f191 Add more new fns 2023-12-13 17:08:15 -05:00
Scott Richmond
36d9ed8d69 Add some new functions 2023-12-13 17:02:39 -05:00
Scott Richmond
84fd8779e3 Update docs 2023-12-13 16:57:44 -05:00
Scott Richmond
3c25fc72eb Add more docs. 2023-12-12 15:49:18 -05:00
Scott Richmond
075f7e8f9e Updates 2023-12-12 15:38:16 -05:00
Scott Richmond
7001c5a30a Some tweaks, fix links. 2023-12-11 16:16:03 -05:00
Scott Richmond
fece951f4b First draft documentation 2023-12-11 16:02:03 -05:00
Scott Richmond
576b280a0c Fix pattern printing 2023-12-11 16:01:49 -05:00
Scott Richmond
c683b73201 Start repl for documentation scene. 2023-12-11 14:42:23 -05:00
Scott Richmond
7a4ad90380 Do a bunch of work to get things mostly working on ludus-web 2023-12-09 20:30:43 -05:00
Scott Richmond
37f0350fa3 Fix l/r reversal bug, doc! bug, join bug. 2023-12-08 18:19:08 -05:00
Scott Richmond
1b67bab4fe Actually fix turtle angles and states 2023-12-08 17:30:33 -05:00
Scott Richmond
b61322bbfd Fix turtle angles, states, and colors. 2023-12-08 17:20:57 -05:00
Scott Richmond
ed4447d6c2 Remove repl cruft 2023-12-08 15:30:13 -05:00
Scott Richmond
bc5cc37cc1 Fully add repeat form 2023-12-08 15:27:49 -05:00
Scott Richmond
b285047d60 Fix additional bugs in the prelude 2023-12-08 15:27:33 -05:00
Scott Richmond
f5f1d4a440 Fix subtle parsing errors in prelude. 2023-12-08 15:04:44 -05:00
Scott Richmond
c88a06d447 Start adding repeat form. 2023-12-07 12:28:30 -05:00
Scott Richmond
53c4433d2a Keep working on prelude. 2023-12-06 20:29:21 -05:00
Scott Richmond
8ce97081d0 Add better error handling, improve prelude, postlude. 2023-12-06 20:02:14 -05:00
Scott Richmond
480e7abcf0 Remove repl 2023-12-04 14:06:10 -05:00
Scott Richmond
ba44ddcb3f Remove print!s 2023-12-04 14:01:32 -05:00
Scott Richmond
6a1906c1ae Fix the bugs. Not all of them. 2023-12-04 13:58:29 -05:00
Scott Richmond
efb33cc1be Reset state after each run 2023-12-04 12:12:05 -05:00
Scott Richmond
c9ccffa067 Basically wire the things up! 2023-12-04 00:41:57 -05:00
Scott Richmond
17592149f1 Finish turtle graphics? 2023-12-03 23:14:55 -05:00
Scott Richmond
14862c3ba9 Add slice, fix bugs 2023-12-03 21:48:53 -05:00
Scott Richmond
30fa4e9d97 Fix anonymous fn bug 2023-12-03 21:10:22 -05:00
Scott Richmond
314101d17d Make lots of progress on prelude & turtle graphics, fixing partial function application bug along the way. 2023-12-03 17:15:26 -05:00
Scott Richmond
7515df835e Fix bug, add show-pattern 2023-12-03 12:40:38 -05:00
Scott Richmond
ab48dfa6b3 Make lots and lots of progress; discover error in pattern matching. 2023-12-02 16:14:57 -05:00
Scott Richmond
58e0e8b51c npmify the things! 2023-12-01 20:33:12 -05:00
Scott Richmond
478d0347f2 Stand up stub of npm export 2023-12-01 19:56:22 -05:00
Scott Richmond
bc7565926a Lots of progress 2023-12-01 19:08:51 -05:00
Scott Richmond
792ce12617 Get base/prelude system working 2023-12-01 12:38:33 -05:00
Scott Richmond
3370fbc13e Unfuck function building 2023-12-01 11:18:39 -05:00
Scott Richmond
02d15ac5b7 Track untracked files, add back in core, add base 2023-11-30 15:18:56 -05:00
Scott Richmond
d99a454e36 Work on fn regression 2023-11-30 15:03:51 -05:00
Scott Richmond
fcf9bd76e0 Wire up base and prelude 2023-11-30 14:31:02 -05:00
Scott Richmond
f4e2171e09 Oops--commit last change on use implementation 2023-11-30 13:23:36 -05:00
Scott Richmond
252b9af358 Add use to language 2023-11-30 13:22:38 -05:00
Scott Richmond
6070b6512e Add if let back in 2023-11-30 11:58:04 -05:00
Scott Richmond
5fd2ce2583 Finish adding clj stuff back in. 2023-11-29 23:09:52 -05:00
Scott Richmond
29fc3714f8 Add back in some clj stuff: core/main/repl/loader 2023-11-29 22:39:56 -05:00
Scott Richmond
a7860b4544 Break out match from when, clean up, strictify (binding, non-binding, simple) 2023-11-29 22:29:58 -05:00
Scott Richmond
86cb4c2d76 Smol change 2023-11-26 12:18:57 -05:00
Scott Richmond
246e9e5e53 clj->extern 2023-11-25 14:27:49 -05:00
Scott Richmond
fd77e1ed45 Fix clj (extern call) for js 2023-11-25 14:26:00 -05:00
Scott Richmond
a072191081 Wire up proof of concept! 2023-11-24 18:41:26 -05:00
Scott Richmond
8c19cca9e7 Get it working! Ludus in cljs works. 2023-11-24 13:54:06 -05:00
Scott Richmond
a23e3bfdc5 Keep working, cljs repl :((((( 2023-11-24 13:17:20 -05:00
Scott Richmond
7ec258ee24 Clean it up, wire it up. 2023-11-16 19:16:31 -05:00
Scott Richmond
3273ab4385 Add cljs to deps, hello world 2023-11-16 13:22:15 -05:00
Scott Richmond
3b5a789333 Make some edits. 2023-10-13 18:18:05 -04:00
919537e758 Start working on turtle graphics 2023-07-04 12:39:32 -04:00
3854116f33 Fix and/or functions 2023-07-04 12:39:18 -04:00
a23c779efa Fix merge conflicts 2023-06-02 16:10:40 -06:00
5c8ba725a9 Bugfixes. 2023-06-01 17:27:55 -06:00
7c30b6259b Wire up repl & file interpreters. 2023-06-01 15:06:33 -06:00
c179325719 Improve prelude 2023-06-01 13:11:06 -06:00
a6ef6522c0 Add clj fn to prelude, calls arbitrary Clojure. 2023-06-01 12:46:52 -06:00
c8c74fbd49 Simplify conditional forms: when, if, etc. 2023-05-31 11:18:55 -06:00
67e230c714 Actually save work 2023-05-31 11:51:43 -04:00
82a539a112 Update struct match 2023-05-31 11:51:02 -04:00
3bd34f1269 Fix type member of prelude 2023-05-31 11:42:51 -04:00
e27e5a4c1a Add typed shorthand to dicts 2023-05-31 11:37:39 -04:00
6c38c43727 Get dict splats working, fix match-typed 2023-05-31 11:31:04 -04:00
0e9c403634 Things, mostly list & tuple splats are correct. 2023-05-31 09:30:12 -04:00
fdaf1068d3 Get stuff running again, fix missing nil pattern, play wtih unwrap, default 2023-05-27 18:05:43 -04:00
35eed84741 Constraint -> guard 2023-05-26 15:24:10 -04:00
c1b305bc1c Fix constraint -> guard 2023-05-26 15:23:12 -04:00
776f975d54 Collate TODOs; comment repl cruft 2023-05-26 15:21:55 -04:00
c6eeed4f4c Use defp macros for parsers; update grammar using defp; update interpreter with new node names 2023-05-26 15:07:41 -04:00
6cf09fb177 Complete interpreter, less process system: spawn, receive 2023-05-22 16:56:24 -04:00
618d6b856c Add TODO 2023-05-22 00:17:17 -04:00
3256565308 Add separate recur node 2023-05-22 00:16:01 -04:00