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 |
|
|
65692b611b
|
make some notes
|
2023-05-22 00:14:53 -04:00 |
|
|
b504370d96
|
Keep knocking 'em down: fns, loops, pipelines work
|
2023-05-21 23:58:54 -04:00 |
|
|
8516f0e053
|
Start work on the interpreter
|
2023-05-21 16:43:26 -04:00 |
|
|
e02e972d27
|
Start work on a compiler
|
2023-05-20 14:25:33 -04:00 |
|
|
ae8f72d3b4
|
Remove debug printlns
|
2023-05-20 14:25:13 -04:00 |
|
|
0fe85cf2ed
|
Remove repl cruft
|
2023-05-20 14:20:23 -04:00 |
|
|
4fd593752b
|
Finally get it right?
|
2023-05-20 14:18:30 -04:00 |
|
|
4ea7a3a23d
|
Keep grinding; problems now with order/repeats
|
2023-05-19 18:55:14 -04:00 |
|
|
f97453b813
|
Complete parser & ludus grammar!
|
2023-05-18 16:44:29 -04:00 |
|
|
23e29fdca2
|
Reindent
|
2023-05-18 16:44:14 -04:00 |
|
|
a7ab313a5f
|
Broken! Argh.
|
2023-05-16 20:54:01 -04:00 |
|
|
52abde501a
|
Add flat combinator
|
2023-05-16 18:29:22 -04:00 |
|
|
cbd78ce7f7
|
Get parser combinator strategy working
|
2023-05-16 16:06:18 -04:00 |
|
|
919ab5ca34
|
Keep grinding on parser combinators
|
2023-05-07 23:23:42 -04:00 |
|
|
5b1ff5aef3
|
Many iterations of parser combinator strategies. Not yet working.
|
2023-05-07 22:49:19 -04:00 |
|
|
2866ff4eb6
|
Make some modest moves
|
2023-05-02 19:44:17 -04:00 |
|
|
c5a72912df
|
Dequalify token keywords
|
2023-05-02 19:43:57 -04:00 |
|
|
963c63aed3
|
Unwire the things for parser refactor
|
2023-05-02 19:15:05 -04:00 |
|
|
96b3f01e7e
|
keep unfucking merge
|
2023-05-02 19:07:21 -04:00 |
|
|
4936daa8dc
|
dequalify token keywords
|
2023-05-02 19:02:28 -04:00 |
|
|
3a7f86e401
|
Clean up some stuff, add ebnf grammar, fail to get quil working
|
2023-05-02 18:58:36 -04:00 |
|
|
0c2c646012
|
Clean up some stuff in scanner, try and fail to get quil working
|
2023-05-02 18:55:56 -04:00 |
|
Scott Richmond
|
55d76f6854
|
proof of concept: add quil to ludus
|
2023-03-25 15:52:25 -04:00 |
|
Scott Richmond
|
1c2ab5182e
|
futz with repl
|
2023-03-20 15:36:00 -04:00 |
|
Scott Richmond
|
7dca7ad3cc
|
add a quick thought about spawn implementation
|
2023-01-28 17:42:34 -05:00 |
|
Scott Richmond
|
ccddfa07c5
|
add reference to vthread source
|
2023-01-28 17:42:17 -05:00 |
|
Scott Richmond
|
b7f0d17afe
|
processes use virtual threads
|
2023-01-28 17:18:09 -05:00 |
|
Scott Richmond
|
a51ba2a2bc
|
add TODO re: expression terminators
|
2023-01-28 14:31:40 -05:00 |
|
Scott Richmond
|
1caddfacbc
|
Make (_) a parsing error
|
2022-11-03 17:51:33 -04:00 |
|
Scott Richmond
|
e248be16cf
|
Comment out <- from scanner
|
2022-11-03 17:33:06 -04:00 |
|
Scott Richmond
|
01d7dc0ab1
|
Fix bug where if let leaked context
|
2022-11-03 17:19:46 -04:00 |
|
Scott Richmond
|
238910e68e
|
Complete single-branch datatypes, start work on sum types
|
2022-08-04 19:24:09 -04:00 |
|
Scott Richmond
|
cd0cad8ac3
|
cljfmt
|
2022-08-04 18:45:56 -04:00 |
|
Scott Richmond
|
9684c2f4c5
|
Add datatype declarations
|
2022-08-04 18:43:20 -04:00 |
|
Scott Richmond
|
5300ca5e3b
|
Move ns & import to parse-script
|
2022-08-04 16:54:13 -04:00 |
|
Scott Richmond
|
969c321ffb
|
Work on datatypes
|
2022-08-04 16:49:20 -04:00 |
|
Scott Richmond
|
18e4826960
|
Add datatype tokens
|
2022-07-26 18:25:11 -04:00 |
|
Scott Richmond
|
72aac19bd7
|
Add upper? and lower? fns
|
2022-07-26 18:19:16 -04:00 |
|
Scott Richmond
|
88c79b2b31
|
Comment out REPL cruft
|
2022-07-26 18:18:57 -04:00 |
|
Scott Richmond
|
08d91dd9de
|
Add useful TODO, re: tuple splat patterns
|
2022-06-25 22:01:32 -04:00 |
|
Scott Richmond
|
272e46551e
|
Cleanup todos
|
2022-06-25 18:20:54 -04:00 |
|
Scott Richmond
|
d2cefb79f0
|
Fix bug allowing repeated names everywhere
|
2022-06-25 18:18:54 -04:00 |
|
Scott Richmond
|
80fe4d370d
|
Prevent duplicate keys in struct/dict patterns
|
2022-06-25 11:55:17 -04:00 |
|
Scott Richmond
|
df511ce5eb
|
Fix bug allowing repeated name in tuples
|
2022-06-19 16:21:54 -04:00 |
|
Scott Richmond
|
a56a4b565a
|
::ast/splatted -> ::ast/splat (standardize)
|
2022-06-19 16:21:12 -04:00 |
|
Scott Richmond
|
e30a8b973b
|
Add splats to dict & struct patterns in parser
|
2022-06-19 15:46:58 -04:00 |
|
Scott Richmond
|
07c21494cf
|
Add splats to tuple patterns in parser
|
2022-06-19 15:01:00 -04:00 |
|
Scott Richmond
|
24f85966a2
|
Improve error message.
|
2022-06-19 14:58:14 -04:00 |
|
Scott Richmond
|
cdfcd1249e
|
Fix copypasta error
|
2022-06-19 14:57:44 -04:00 |
|
Scott Richmond
|
c3c5c390e5
|
Unroll copypasta.
|
2022-06-19 14:57:04 -04:00 |
|
Scott Richmond
|
4e7590226b
|
Copypasta splat patterns to dict, struct, tuple in parser
|
2022-06-19 14:52:38 -04:00 |
|
Scott Richmond
|
68bc37ef61
|
Add splats to list patterns in parser
|
2022-06-19 14:48:53 -04:00 |
|
Scott Richmond
|
4254359934
|
Complete if-let
|
2022-06-19 14:01:55 -04:00 |
|
Scott Richmond
|
689f3f23bc
|
Add interpret-if-let
|
2022-06-19 13:46:11 -04:00 |
|
Scott Richmond
|
ed14b97a00
|
REPL investigate if-let ast
|
2022-06-19 13:45:52 -04:00 |
|
Scott Richmond
|
5653912f0e
|
Fix file loading from REPL
|
2022-06-19 13:34:16 -04:00 |
|
Scott Richmond
|
f8322412b7
|
Remove REPL stuff
|
2022-06-19 13:15:00 -04:00 |
|
Scott Richmond
|
61bdeab5a6
|
REPL stuff
|
2022-06-19 13:12:50 -04:00 |
|
Scott Richmond
|
c17d210b43
|
Fix scanning bug: = is now a terminator
|
2022-06-04 14:49:49 -04:00 |
|
Scott Richmond
|
0aa7efcbb1
|
Add process:flush, fix printing
|
2022-06-02 19:10:41 -04:00 |
|
Scott Richmond
|
8752ee0da1
|
Add some process functions
|
2022-06-02 18:42:02 -04:00 |
|
Scott Richmond
|
4603dcf980
|
Fix import+process bug
|
2022-06-02 17:51:30 -04:00 |
|
Scott Richmond
|
2de1d94a4a
|
Fix unbound name errors, import bug, process:in->process:inbox
|
2022-06-02 17:38:16 -04:00 |
|
Scott Richmond
|
2f5ebe85f7
|
Improve error messages in processes
|
2022-06-02 14:57:16 -04:00 |
|
Scott Richmond
|
1123d82503
|
Add conj and assoc
|
2022-06-02 14:56:13 -04:00 |
|
Scott Richmond
|
015d079d57
|
hashmap->dict cleanup
|
2022-06-02 14:56:03 -04:00 |
|
Scott Richmond
|
3f44c64802
|
Fix tuple/list/set parsing bug
|
2022-06-01 18:00:29 -04:00 |
|
Scott Richmond
|
b249817aa9
|
Fix print-function stack overflow
|
2022-06-01 17:28:55 -04:00 |
|
Scott Richmond
|
46581e103d
|
Add actors to repl
|
2022-06-01 10:44:34 -04:00 |
|
Scott Richmond
|
1e28556baa
|
First stab at 'actors': using threads.
|
2022-05-31 14:21:19 -04:00 |
|
Scott Richmond
|
09696c212a
|
Fix bug when last line is comment
|
2022-05-31 14:12:52 -04:00 |
|
Scott Richmond
|
0055056142
|
Parse receive & self
|
2022-05-30 18:02:24 -04:00 |
|
Scott Richmond
|
b0d5b30124
|
Parse spawn & send
|
2022-05-30 17:40:27 -04:00 |
|
Scott Richmond
|
bb1f2a0086
|
Fix botched reserved word update
|
2022-05-30 17:24:10 -04:00 |
|
Scott Richmond
|
33d12898ec
|
Clean up reserved words
|
2022-05-30 17:20:57 -04:00 |
|
Scott Richmond
|
18bcf6d8c6
|
More minor repl improvements
|
2022-05-27 20:02:32 -04:00 |
|
Scott Richmond
|
173f5756a7
|
cljfmt
|
2022-05-27 19:18:00 -04:00 |
|
Scott Richmond
|
874dacf791
|
Littl repl improvements
|
2022-05-27 19:09:25 -04:00 |
|
Scott Richmond
|
a57446db93
|
Add basic repl session management
|
2022-05-26 20:24:41 -04:00 |
|
Scott Richmond
|
059fc16df2
|
Stand up super basic repl
|
2022-05-26 19:50:55 -04:00 |
|
Scott Richmond
|
698a07d085
|
Add interpret-repl
|
2022-05-26 19:50:45 -04:00 |
|
Scott Richmond
|
ef97cf16e4
|
Baby repl stub
|
2022-05-26 18:59:28 -04:00 |
|
Scott Richmond
|
a3c60e0196
|
Hashmap -> dict in scanner
|
2022-05-26 18:54:51 -04:00 |
|
Scott Richmond
|
64c8f30964
|
Hashmap -> dict in parser
|
2022-05-26 18:49:52 -04:00 |
|
Scott Richmond
|
3292c0676c
|
Hashmap -> dict
|
2022-05-26 18:44:40 -04:00 |
|
Scott Richmond
|
a5b1763324
|
Add import error handling
|
2022-05-26 18:40:26 -04:00 |
|
Scott Richmond
|
8f1701dabb
|
Add minimal error handling
|
2022-05-26 18:39:37 -04:00 |
|
Scott Richmond
|
7beca7e0f6
|
Fix line number reporting
|
2022-05-26 18:12:23 -04:00 |
|
Scott Richmond
|
c5a7b5ad46
|
Add a little comment
|
2022-05-26 18:06:37 -04:00 |
|
Scott Richmond
|
907d4e2b31
|
Use the little file loader
|
2022-05-24 18:52:45 -04:00 |
|
Scott Richmond
|
d8d1bf0858
|
Make a little file loader
|
2022-05-24 18:52:32 -04:00 |
|
Scott Richmond
|
0887c0d830
|
Comment out repl stuff
|
2022-05-24 17:32:17 -04:00 |
|
Scott Richmond
|
3798dba9dc
|
Comment out repl stuff
|
2022-05-24 17:31:52 -04:00 |
|
Scott Richmond
|
6cced0dd8a
|
Tidy up
|
2022-05-24 17:30:38 -04:00 |
|
Scott Richmond
|
372103a3ee
|
Add or and and
|
2022-05-24 17:29:06 -04:00 |
|
Scott Richmond
|
1ca434b308
|
Remove old show cruft
|
2022-05-24 17:02:50 -04:00 |
|
Scott Richmond
|
c0e88021f2
|
Remove unused clojure/string require
|
2022-05-24 17:02:09 -04:00 |
|
Scott Richmond
|
1079bb8028
|
Remove unused (and incorrect) 2-arity of token fn
|
2022-05-24 17:01:44 -04:00 |
|
Scott Richmond
|
b1284f3338
|
Interpret splats in sets
|
2022-05-20 19:01:13 -04:00 |
|
Scott Richmond
|
6e4fd22fd4
|
Pull #()s out into fns
|
2022-05-20 18:54:14 -04:00 |
|
Scott Richmond
|
355b9f9949
|
Remove println crud
|
2022-05-20 18:50:43 -04:00 |
|
Scott Richmond
|
f0fe8005e9
|
Interpret splats in hashmaps
|
2022-05-20 18:46:40 -04:00 |
|
Scott Richmond
|
f70aa0f4ce
|
Parse splats in hashmaps *correctly*
|
2022-05-20 18:46:24 -04:00 |
|
Scott Richmond
|
ea5d9fa948
|
Parse splats in hashmaps and sets
|
2022-05-20 18:14:22 -04:00 |
|
Scott Richmond
|
7390461f2b
|
Interpret list splats
|
2022-05-20 17:59:39 -04:00 |
|
Scott Richmond
|
9d645e3b4b
|
Add list splats
|
2022-05-20 17:35:16 -04:00 |
|
Scott Richmond
|
bb3d145e5d
|
Fiddle repl source
|
2022-05-20 17:35:02 -04:00 |
|
Scott Richmond
|
4d7b12eb34
|
Add struct patterns
|
2022-05-19 20:03:39 -04:00 |
|
Scott Richmond
|
34da4dd6fe
|
Actually add hashmap patterns. Whoops.
|
2022-05-19 20:00:16 -04:00 |
|
Scott Richmond
|
bc2f6f8317
|
REPL cruft
|
2022-05-19 19:59:40 -04:00 |
|
Scott Richmond
|
bd9a408e07
|
Add hash patterns; add hashmap data tag & update show
|
2022-05-19 19:59:20 -04:00 |
|
Scott Richmond
|
9984a6c8ec
|
Add basic list matching
|
2022-05-19 19:27:32 -04:00 |
|
Scott Richmond
|
a899ee776d
|
Parse basic list, hash, struct patterns.
|
2022-05-19 19:14:25 -04:00 |
|
Scott Richmond
|
ad778f7104
|
Play around
|
2022-05-19 18:55:38 -04:00 |
|
Scott Richmond
|
35cbe352a8
|
Update reserved words list & impl
|
2022-05-19 18:55:27 -04:00 |
|
Scott Richmond
|
9dd963e5b2
|
Interpret panic! not as fn but as rw.
|
2022-05-19 18:12:55 -04:00 |
|
Scott Richmond
|
4aeaa9e889
|
Fix parse-list :token typo
|
2022-05-19 18:11:31 -04:00 |
|