Commit graph

14474 commits

Author SHA1 Message Date
Richard Feldman
9ff63e160e Do what clippy suggests 2019-12-06 20:35:37 -05:00
Richard Feldman
e82f2a36d8 cargo fmt 2019-12-06 20:34:41 -05:00
Richard Feldman
9d98d0d99a Add load_and_infer test 2019-12-06 20:34:41 -05:00
Richard Feldman
3fdaf25e0d Solve module defs 2019-12-06 20:34:41 -05:00
Richard Feldman
3945d64310 Constrain module defs 2019-12-06 20:34:41 -05:00
Richard Feldman
6803838994 Improve some comments 2019-12-06 20:34:41 -05:00
Richard Feldman
62282c213f Let VarStore start at nonzero 2019-12-06 20:34:41 -05:00
Richard Feldman
8e16529800 Propagate Subs info better 2019-12-06 20:34:41 -05:00
Richard Feldman
b69c8cac9b Introduce variables_by_symbol 2019-12-06 20:34:41 -05:00
Richard Feldman
969f369f79 Use Box<str> for Ident 2019-12-06 20:34:41 -05:00
Richard Feldman
df3d177d04 Don't treat qualified idents as broken 2019-12-06 20:23:45 -05:00
Richard Feldman
b2a9fa8f67 Don't use hex numbers in builtins yet, due to #1 2019-12-06 20:22:46 -05:00
Richard Feldman
5506d9f83e Update names in builtins 2019-12-06 20:22:42 -05:00
Richard Feldman
e30206bf06 Improve Mark Debug 2019-12-06 20:17:31 -05:00
Richard Feldman
8b4445c61c
Merge pull request #47 from rtfeldman/infer-builtins
Canonicalize modules
2019-12-05 21:43:46 -05:00
Richard Feldman
1252ce2a30 Satisfy clippy 2019-12-05 19:51:56 -05:00
Richard Feldman
1d0d7170bb Drop unnecessary lifetime annotation 2019-12-05 19:51:56 -05:00
Richard Feldman
fb092b8140 Drop some obsolete comments 2019-12-05 19:51:56 -05:00
Richard Feldman
ba92480d97 Reorganize can/ module 2019-12-05 19:51:56 -05:00
Richard Feldman
c862ee9fca Expand stack size for some tests. 2019-12-05 19:51:50 -05:00
Richard Feldman
35177f0e56 Add WithBuiltins test 2019-12-05 19:51:50 -05:00
Richard Feldman
16a03d1e49 Revise builtins 2019-12-05 19:51:50 -05:00
Richard Feldman
6be678b427 Make Constraint be Send 2019-12-05 19:51:50 -05:00
Richard Feldman
19885d32c1 Revise parse::ast::Defs
Add Nested, drop CustomType and TypeAlias
2019-12-05 19:51:50 -05:00
Richard Feldman
1a88c03b95
Merge pull request #46 from rtfeldman/fix-parser-bug
Fix parser bug
2019-12-05 19:44:58 -05:00
Richard Feldman
be810f4dc9 Add restricted keyword 'as' 2019-12-05 19:34:31 -05:00
Richard Feldman
242a1b14e6 Fix subtraction parsing bug 2019-12-05 19:31:10 -05:00
Richard Feldman
b3bdbd9d98 Reproduce subtraction parsing bug 2019-12-05 19:31:10 -05:00
Richard Feldman
897a2edcea Use im_rc over im in backing_vec 2019-12-05 19:23:24 -05:00
Richard Feldman
2fc2b3f141
Merge pull request #43 from rtfeldman/lift-types
Uniqueness types foundations
2019-12-05 19:23:13 -05:00
Folkert
6db31f44b7 fix test 2019-12-05 13:33:38 +01:00
Folkert
c51f424ff2 add tests for boolean unification and simplification 2019-12-05 13:29:05 +01:00
Chadtech
4fff9068c2
Merge branch 'trunk' into ct/comment-tests-and-new-line-tests 2019-12-04 22:53:02 -05:00
Chad Stearns
c8acb705f8 Added failing test, removed comment 2019-12-04 22:48:28 -05:00
Chad Stearns
5bc8f24d7f Clarified example 2019-12-04 22:44:59 -05:00
Richard Feldman
fc35b5fcf3
Merge branch 'trunk' into lift-types 2019-12-04 22:39:06 -05:00
Chad Stearns
7a2fd182df Cohere naming with rest of modul 2019-12-04 22:38:57 -05:00
Richard Feldman
69e3629274
Merge pull request #44 from rtfeldman/fix-unicode-bug
Fix unicode parsing bug
2019-12-04 22:38:54 -05:00
Chad Stearns
ff6e08daf6 Clarify and comment test. 2019-12-04 22:36:28 -05:00
Chad Stearns
edd8877865 Format tests for comment position and new lines 2019-12-04 22:33:02 -05:00
Richard Feldman
59dc729209 Fix unicode parsing bug. 2019-12-04 21:29:50 -05:00
Folkert
5923fc364d hook up boolean_algebra module 2019-12-04 23:28:43 +01:00
Folkert
e3f308759a move boolean things into their own module 2019-12-04 23:11:29 +01:00
Folkert
a67c60eb83 implement boolean constraint simplification 2019-12-04 20:47:54 +01:00
Folkert
55d4447a2c do what clippy wants 2019-12-04 20:25:52 +01:00
Folkert
dbec765b44 remove symbols bound by let from var_usage 2019-12-04 20:23:09 +01:00
Folkert
7514f986ba remove old sharing analysis 2019-12-04 20:23:02 +01:00
Folkert
87b175880b Do sharing analysis with constraint generation
This works around an aliassing issue, e.g in

    (\val -> val) (\val -> val)

Or

    case b when
        Foo x -> x + x
        Bar x -> x

In both cases, the two functions/two branches have a variable with the
same symbol, but one that is really distinct.

Thus after processing a function or case or let (not added yet), the
bound variables must be removed from the var_usage map.
2019-12-04 20:08:58 +01:00
Folkert
f1ccd52c5c Merge branch 'sharing-analysis' into lift-types 2019-12-04 15:08:09 +01:00
Folkert
072bba4ced add boolean constraint types
These constraints are not generated nor solved yet, but can now be
expressed
2019-12-04 15:06:31 +01:00