Commit Graph

56 Commits

Author SHA1 Message Date
greg a2bd9a3985 Remove symbol table from evaluator 2019-11-09 19:52:05 -08:00
greg e4a1a23f4d Moved sym lookup logic from eval to ast reducer 2019-11-09 19:49:02 -08:00
greg b967fa1911 to_repl() doesn't need symbol table handle 2019-11-07 02:42:17 -08:00
greg 944916d6af Alias for symbol table handle type 2019-10-21 04:09:43 -07:00
greg 1493d12a22 Reduce unused imports 2019-10-21 03:02:11 -07:00
greg 86dc5eca02 Get rid of symbol segment kind
I don't think I need this after all
2019-10-18 18:24:57 -07:00
greg 26fa4a29ec Put type names into symbol table 2019-10-16 20:22:40 -07:00
greg 6368d10d92 Rename Symbol.name -> Symbol.local_name
to make it clearer what this means
2019-09-24 18:56:53 -07:00
greg 6c3a4f907b Warning cleanup, TODOs 2019-09-10 03:40:41 -07:00
greg 0540df4024 Rename Val -> Sym 2019-08-30 19:10:16 -07:00
greg 61182a847f Rename lookup_by_path -> lookup_by_fqsn 2019-08-30 19:05:01 -07:00
greg f6dcd7f0b8 Use proper symbol_table lookup in eval 2019-08-30 19:03:52 -07:00
greg a74027bb1f Start adding object access 2019-08-20 00:20:07 -07:00
greg 583e87c19a Make apply_builtin compatible with Node 2019-08-19 21:49:46 -07:00
greg 12ed2f5c8e Pass symbol table reference to `to_repl` 2019-08-19 19:38:24 -07:00
greg 3caf9c763c Move eval tests 2019-08-16 10:39:21 -07:00
greg cd20afc3c7 Add note about Nodes 2019-08-15 08:07:52 -07:00
greg fa1544c71f Fix eval of negatives 2019-08-14 07:31:59 -07:00
greg fde169b623 Make operators live in a submodule of ast
Starting with PrefixOp, BinOp happens next
2019-08-14 07:25:45 -07:00
greg 7ae41e717d Switch away from string builtins 2019-08-12 14:10:07 -07:00
greg c9bfa2b540 More named struct reduction work 2019-08-12 11:40:16 -07:00
greg d832583ed9 Fix pluralization wording 2019-08-05 01:11:01 -07:00
greg 87ecc6f0cb Don't print out bare constructor
Instead convert to PrimObject
2019-08-05 01:07:48 -07:00
greg ee87695626 Simplify Alternative data structure
Most of the subfields are duplicated on Subpattern so just use that
directly
2019-07-30 01:33:09 -07:00
greg 32fe7430a4 Equals should be a token type 2019-06-16 16:07:27 -07:00
greg 2bf777f37b Add this note to self 2019-03-11 19:36:10 -07:00
greg bdcae36b60 More cleaning up of how scopes are stored
on Symbol
2019-03-11 02:47:47 -07:00
greg c64f53a050 Detect duplicate variable declarations correctly
Later I'll probably want to make it so that you can explicitly override
the value of a declared variable
2019-03-10 17:02:01 -07:00
greg 98db60498a Add very basic symbol table test shim 2019-03-07 23:51:31 -08:00
greg c0111e30bc SymbolTable: Add Record type 2019-01-25 00:57:01 -08:00
greg a63dcf91b0 Replace // with `quot` 2019-01-10 20:57:13 -08:00
greg 30676722a3 Transition to edition 2018 2019-01-07 13:00:37 -08:00
greg 837a55c718 Test for nested function call 2018-11-06 02:42:28 -08:00
greg c6b4ed7ee4 Basic lambdas 2018-11-06 01:19:16 -08:00
greg 17e88b33f2 Eval test doesn't need to be a macro
Can be a fn
2018-11-05 21:07:06 -08:00
greg ad53d4394b Get rid of println 2018-11-05 14:52:51 -08:00
greg 151246e1c5 Test for pattern-matching 2018-11-05 14:11:49 -08:00
greg 77d2826918 Pattern-match on structured objects 2018-11-05 14:01:14 -08:00
greg 1bd48ed5db Fix problem with parsing commas
I should probably rethink how delimited block expressions like if-blocks
(and eventually for-blocks) work
2018-11-05 13:07:08 -08:00
greg c394b81746 More pattern-matching 2018-11-05 04:02:04 -08:00
greg ec29077247 More tuple-matching
Also discovered parser bug
2018-11-05 03:41:03 -08:00
greg 62043ac2d1 Starting on pattern-matching tuples
Lots of duplicated code here
2018-11-05 03:17:03 -08:00
greg bada386979 More work on subpattern matching 2018-11-03 12:53:09 -07:00
greg e71d404071 Finished this refactor 2018-11-02 19:54:04 -07:00
greg cab4702bd6 Refactoring matching - WIP
doesn't work yet
2018-11-01 02:43:47 -07:00
greg ec5a9d457e String patterns 2018-10-31 01:45:16 -07:00
greg b8df09e956 Change eval strategy to use conditional sigil 2018-10-29 01:50:43 -07:00
greg d7f0147a4f Add conditional target placeholder expr 2018-10-28 12:45:45 -07:00
greg d7baf065fb Changing what method to call to start parsing 2018-10-20 15:41:09 -07:00
greg 6b42f8b8de Change how parsing works 2018-10-20 14:27:00 -07:00