Commit graph

14474 commits

Author SHA1 Message Date
Folkert
6da37329e7 extract logic for identifiers 2019-12-23 13:52:24 +01:00
Richard Feldman
aaae923e59
Merge pull request #80 from rtfeldman/let-rec-style
"Let Rec" style def constraints
2019-12-22 22:26:53 -08:00
Richard Feldman
f60260a14f
Merge branch 'trunk' into let-rec-style 2019-12-23 01:12:55 -05:00
Richard Feldman
14ded5754b
Merge pull request #79 from rtfeldman/ct/multi-line-if
multi line if statement formatting
2019-12-22 23:28:26 -05:00
Richard Feldman
2bf3238ab6
Merge branch 'trunk' into ct/multi-line-if 2019-12-22 23:20:15 -05:00
Richard Feldman
7a66ee6db9
Merge pull request #75 from rtfeldman/annotations-without-bodies
Annotations without bodies
2019-12-22 23:20:00 -05:00
Richard Feldman
77b71a1b53 Merge remote-tracking branch 'origin/trunk' into annotations-without-bodies 2019-12-22 20:10:30 -08:00
Richard Feldman
302b03cb20 Make defs use "let rec" style; drop Variable 2019-12-22 20:03:45 -08:00
Richard Feldman
760de2f328 Rename Rank::outermost to Rank::toplevel 2019-12-22 20:03:22 -08:00
Richard Feldman
c68f18c6ca
Merge pull request #77 from rtfeldman/register
Use register in more places in solving
2019-12-22 23:00:06 -05:00
Folkert
252d215c03 implement remove_idents for RecordDestructure 2019-12-22 21:41:29 +01:00
Folkert
9d7ce6ff15 parse records with type signatures
{ x, y } : { x : Int, y : Float }
2019-12-22 20:23:12 +01:00
Richard Feldman
c0cf0b64b1 Update some heterogenous list tests 2019-12-21 18:32:34 -05:00
Richard Feldman
c6f14e8db5 Add a type annotation to builtins/Float 2019-12-21 18:26:59 -05:00
Richard Feldman
6df252a54e Improve error message reporting 2019-12-21 18:26:43 -05:00
Folkert
97f2c57a39 fabricate a pattern for function annotations
so

foo : Int -> Bool

turns into

foo : Int -> Bool
foo = \_ -> crash

The effect of that is that function annotations only crash when applied.
2019-12-21 23:08:30 +01:00
Folkert
5254ecd2b9 refactor .union to remove cloning 2019-12-21 22:37:47 +01:00
Chad Stearns
18b6bb4b93 Merge branch 'ct/multi-line-if' of github.com:rtfeldman/roc into ct/multi-line-if 2019-12-21 16:05:46 -05:00
Chad Stearns
74552e58b4 Simplified else-case buffer string pushing 2019-12-21 16:05:01 -05:00
Richard Feldman
2e90cfc184 s/## >/## >>>/g 2019-12-21 15:15:20 -05:00
Chadtech
c8eae2b160
Merge branch 'trunk' into ct/multi-line-if 2019-12-21 13:50:54 -05:00
Chad Stearns
141ad1757b Added test for case with many lines 2019-12-21 13:48:44 -05:00
Chad Stearns
6a6ce63437 Removed some empty lines 2019-12-21 13:37:37 -05:00
Chad Stearns
68236aa10b Combine format_newlines_after and format_newlines_before into just format_newlines 2019-12-21 13:32:14 -05:00
Chad Stearns
48a9d898fc Handle excessive newlines below then and else cases 2019-12-21 13:28:34 -05:00
Chad Stearns
858764ac27 Format changes 2019-12-21 02:11:14 -05:00
Richard Feldman
26628914b8 Merge remote-tracking branch 'origin/trunk' into annotations-without-bodies 2019-12-20 23:35:52 -05:00
Richard Feldman
ddb664b554 Remove some stray dbg! calls 2019-12-20 23:30:45 -05:00
Richard Feldman
abec56973d Back out the deep copying and tests for now 2019-12-20 23:30:45 -05:00
Richard Feldman
05d0e94245 Add tests for identity inference 2019-12-20 23:30:45 -05:00
Richard Feldman
4018ecbf25 Avoid some clones 2019-12-20 23:30:45 -05:00
Richard Feldman
aa24cdbef3 Deep copy var 2019-12-20 23:30:45 -05:00
Richard Feldman
94cc22f9ca Use resgister more, fix type_to_vars 2019-12-20 23:30:45 -05:00
Richard Feldman
cc3ddd2667 Improve some comments 2019-12-20 23:30:45 -05:00
Richard Feldman
696a87869b Fix some incorrect usages of vars 2019-12-20 23:30:45 -05:00
Richard Feldman
03f5896e89 Drop some unused pattern Variables 2019-12-20 23:30:45 -05:00
Richard Feldman
4afa116156 Make Debug formatting less noisy 2019-12-20 23:30:45 -05:00
Richard Feldman
c5ce0941d0 Reproduce identity bug 2019-12-20 23:30:45 -05:00
Richard Feldman
59e60bc9dc
Merge pull request #76 from rtfeldman/accessor-function
add record accessor functions
2019-12-20 23:29:20 -05:00
Chad Stearns
d6186f38ed cargo fmt and clippy 2019-12-20 16:16:45 -05:00
Chad Stearns
b7cb2cc346 Put if case in fmt_if 2019-12-20 16:14:44 -05:00
Chad Stearns
32a6afb817 Multi-line if statement 2019-12-20 16:04:09 -05:00
Folkert
4862409b1d add .foo record accessors 2019-12-20 19:44:19 +01:00
Folkert
399ca65b4b Implement equivalence for patterns
so we can add signatures for non-identifiers, e.g.

    { x, y } : ...
    { x, y } = ...
2019-12-20 16:28:02 +01:00
Folkert
cbca93b030 use pattern in FromAnnotation
so we can also annotate non-identifier patterns.
2019-12-20 15:41:42 +01:00
Folkert
307b19bd2c remove unneeded mut
rigids only need to be on the top-level Output. The one here is actually
unused.
2019-12-20 14:48:58 +01:00
Folkert
4bfaaf5dd7 refactor def pattern canonicalization 2019-12-20 13:34:23 +01:00
Folkert
1c9886f9ca refactor getting the arity from a type 2019-12-20 13:18:22 +01:00
Folkert
d6fea22f7a typecheck annotations without bodies 2019-12-20 13:10:30 +01:00
Richard Feldman
b47522489c
Merge pull request #74 from rtfeldman/pools
Introduce Pools
2019-12-19 22:57:24 -05:00