Commit graph

46 commits

Author SHA1 Message Date
Richard Feldman
8985b4bec7 Add lists 2019-08-28 00:04:08 -04:00
Richard Feldman
2990aa56bc Replace CallByName with Apply 2019-08-04 02:37:07 -04:00
Richard Feldman
e3e92b56fb Attempt to sort all the symbols. 2019-07-31 23:06:53 -04:00
Richard Feldman
74ad51aae9 Overhaul canonicalization to use global symbols. 2019-07-30 22:42:25 -04:00
Richard Feldman
1b5df3f1c3 Fix unused assignment detection bug. 2019-07-28 16:49:44 -04:00
Richard Feldman
c8edddfd48 Fix parsing edge case re: function calls at eof 2019-07-26 23:35:33 -04:00
Richard Feldman
ee8a9e3867 Add Located, and parse assignments as a Vec 2019-07-22 22:07:44 -04:00
Richard Feldman
67a507080d Introduce Approx 2019-07-11 23:14:32 -04:00
Richard Feldman
79951cec5e Operator associativity and precedence 2019-07-11 22:03:28 -04:00
Richard Feldman
07a05b90fc Restore eval, add |> operator 2019-07-08 23:35:11 -04:00
Richard Feldman
3651151f12 Incorporate Located, reorganize operator 2019-07-06 18:44:47 -04:00
Richard Feldman
15a87b64a3 Add comparison operators 2019-06-23 19:09:07 -04:00
Richard Feldman
10d84520b2 0.1 + 0.2 == 0.3 2019-06-20 22:29:10 -04:00
Richard Feldman
1556cf1fc9 Drop smallvec 2019-06-19 21:37:48 -04:00
Richard Feldman
140fa5ffa9 Reading from stdin works 2019-06-13 21:32:07 -04:00
Richard Feldman
c85f246988 Rename Func to CallByName 2019-06-13 00:26:27 -04:00
Richard Feldman
41ddfc149b Rename Let to Assign 2019-06-13 00:24:54 -04:00
Richard Feldman
6afeedf10e Add support for pattern matching on numbers 2019-06-12 22:49:36 -04:00
Richard Feldman
34b9df8281 Shrink smallvecs 2019-06-12 22:02:34 -04:00
Richard Feldman
826b0d5ab0 Fix variants getting mixed up with bools 2019-06-12 21:25:16 -04:00
Richard Feldman
7ae610ad18 First (failed!) attempt at string interpolation 2019-06-12 21:25:16 -04:00
Richard Feldman
2872841f6e Introduce Ident alias 2019-06-12 21:25:16 -04:00
Richard Feldman
352ab5ed34 More syntax changes 2019-06-12 21:25:15 -04:00
Richard Feldman
88f8325fb3 Hardcode Read and Echo 2019-06-12 21:25:15 -04:00
Richard Feldman
6c0e34f5fc Use SmallVec for patterns 2019-06-12 21:25:15 -04:00
Richard Feldman
b034e8a486 Revert "Use immutable Vector in Expr"
This reverts commit 89eb88deace1eac2bebdf640ef00bdabf17fef6a.
2019-06-12 21:25:15 -04:00
Richard Feldman
1087a15d32 Use immutable Vector in Expr 2019-06-12 21:25:15 -04:00
Richard Feldman
f832827a66 Try moving to &Expr 2019-06-12 21:25:15 -04:00
Richard Feldman
878513b1ea Add match keyword 2019-06-12 21:25:15 -04:00
Richard Feldman
7aab332650 Add variants 2019-06-12 21:25:15 -04:00
Richard Feldman
81ef0cbc7b Make expr displayable 2019-06-12 21:25:15 -04:00
Richard Feldman
1819b9955f Functions can take mulitple args. 2019-05-26 01:09:36 -04:00
Richard Feldman
298716a925 Use Rc<Expr> in vars:HashMap 2019-05-24 02:28:41 -04:00
Richard Feldman
6ea7649c5f Introduce eval.rs 2019-05-24 02:13:45 -04:00
Richard Feldman
be7e65bc88 Introduce Bool and rename String to Str 2019-05-24 01:54:45 -04:00
Richard Feldman
55020f6d9f Reduce Boxing for Apply 2019-05-22 22:04:30 -04:00
Richard Feldman
3b34c82b42 Introduce Closure 2019-05-22 22:02:31 -04:00
Richard Feldman
91aac9a86e Introduce Pattern 2019-05-22 21:54:46 -04:00
Richard Feldman
21d1a99a1f Got let-exprs and vars coexisting 2019-05-22 19:38:33 -04:00
Richard Feldman
530a50be14 Use indentation tracking and unexpected_any for ident problems 2019-05-21 22:18:33 -04:00
Richard Feldman
b3f3f08c96 Add Expr::Let 2019-05-20 22:02:24 -04:00
Richard Feldman
8222c11a9e Add if-expressions 2019-05-07 21:30:02 -04:00
Richard Feldman
2a67b3fcd3 Made IdentProblem a thing 2019-05-04 13:10:18 -04:00
Richard Feldman
864eecf44c Delete obsolete stuff 2019-04-17 19:32:10 -04:00
Richard Feldman
6c2aaf3234 Parse ratios 2019-03-14 20:58:27 -04:00
Richard Feldman
01cd0cfbe1 Split out some modules 2019-02-02 16:12:02 -10:00