Commit Graph

2154 Commits

Author SHA1 Message Date
Folkert
7fee9737e2 streamline import constraint generation
aliases and values are kind of separate (though the aliases still occur in the values, they are ignored). Constraints are generated more efficiently (no longer a linked list of LetConstraint
2020-02-19 20:05:51 +01:00
Folkert
e48a412faf infer quicksort 2020-02-19 20:05:51 +01:00
Folkert
9fb44e13dc List.get and List.set 2020-02-19 20:05:51 +01:00
Folkert
47cfba1b7f make Alias separate from SolvedType 2020-02-19 20:05:51 +01:00
Richard Feldman
d7597ce8c2 Improve builtin error reporting 2020-02-19 20:05:51 +01:00
Richard Feldman
fc8ad805f1 Add some more builtin types 2020-02-19 20:05:51 +01:00
Richard Feldman
317713f6c5 Add SolvedTypes::Wildcard 2020-02-19 20:05:51 +01:00
Richard Feldman
aa5155fe58 cargo fmt 2020-02-19 20:05:51 +01:00
Richard Feldman
21f2ec4631 Fix typo 2020-02-19 20:05:51 +01:00
Richard Feldman
5c7669bb49 Drop unnecessary clone 2020-02-19 20:05:51 +01:00
Richard Feldman
6627cb0731 Use MutMap over SendMap for aliases 2020-02-19 20:05:51 +01:00
Richard Feldman
0406cea7f1 Move a comment 2020-02-19 20:05:51 +01:00
Richard Feldman
38ff22d122 Fix some tests 2020-02-19 20:05:51 +01:00
Richard Feldman
d7cddf68c3 Fix spurious UnusedDefs 2020-02-19 20:05:51 +01:00
Richard Feldman
5479453c01 Drop obsolete tests 2020-02-19 20:05:51 +01:00
Richard Feldman
89e37c2539 Fix fixtures tests, add WithBuiltins 2020-02-19 20:05:51 +01:00
Richard Feldman
1973003037 Add more builtin types 2020-02-19 20:05:51 +01:00
Richard Feldman
e17979db8e Don't check for unused defs too late 2020-02-19 20:05:51 +01:00
Richard Feldman
854d06152c Don't treat exposed defs as unused 2020-02-19 20:05:50 +01:00
Richard Feldman
6999d05e55 Clean up dbgs 2020-02-19 20:05:50 +01:00
Richard Feldman
09c4a7ec63 Extract builtin types to builtins.rs 2020-02-19 20:05:50 +01:00
Richard Feldman
c4a881eafd Drop unused builtins test setup code 2020-02-19 20:05:50 +01:00
Richard Feldman
6ff87737a3 Gather canonicalization problems for modules 2020-02-19 20:05:50 +01:00
Richard Feldman
55b355a40e Don't qualify builtins in pretty printed types 2020-02-19 20:05:50 +01:00
Richard Feldman
12c09a8e48 Add some more hardcoded builtin types 2020-02-19 20:05:50 +01:00
Richard Feldman
e0f61bfabf Improve debugging info a bit 2020-02-19 20:05:50 +01:00
Richard Feldman
8e0bca11fa Use exposed_builtins as the basis for dep_idents 2020-02-19 20:05:50 +01:00
Richard Feldman
3548506ad3 Include builtin idents in final IdentIds 2020-02-19 20:05:50 +01:00
Richard Feldman
207f1be8a7 Fix missing references entry 2020-02-19 20:05:50 +01:00
Richard Feldman
c4f2470335 Get builtin types compiling 2020-02-19 20:05:50 +01:00
Richard Feldman
7ce869bca6 Store only variable names for Aliases 2020-02-19 20:05:50 +01:00
Richard Feldman
84f4dee5a3 First pass at builtin types 2020-02-19 20:05:50 +01:00
Richard Feldman
8120803fa6
Merge branch 'trunk' into multi-line-function-application 2020-02-18 23:36:38 -08:00
Richard Feldman
0835763309
Merge pull request #193 from rtfeldman/when-guards
When guards
2020-02-18 23:35:47 -08:00
Chad Stearns
d5a723ea2c Multi line when conditions 2020-02-16 22:11:33 -05:00
Chad Stearns
4ebd5843bc Remove debugs 2020-02-16 21:33:58 -05:00
Chad Stearns
42e3ab3a3f Multi line argument formatting works 2020-02-16 21:32:54 -05:00
Chad Stearns
eb65090340 Merging in remote, and also added greater then char to what to look out for before negation symbol 2020-02-15 19:48:30 -05:00
Richard Feldman
148296c48f Recognize Int and Float aliases in code gen 2020-02-14 22:34:14 -08:00
Richard Feldman
a14efde297 Clean up some spaces in tests 2020-02-14 22:18:39 -08:00
Richard Feldman
38f2f9ba97
Merge pull request #192 from rtfeldman/infer-builtins
Infer builtins
2020-02-14 22:17:48 -08:00
Richard Feldman
38b42da306
Merge pull request #190 from rtfeldman/emit-records
Progress on emitting records
2020-02-14 21:27:51 -08:00
Folkert
ee1586ad1f clean up some things 2020-02-15 00:22:04 +01:00
Folkert
4c971019dc remove unused code in check_for_infinite_type 2020-02-14 23:58:43 +01:00
Folkert
5b96849ee9 instantiate aliases in the constraint 2020-02-14 23:56:58 +01:00
Folkert
c166cd0780 fix swapped variables in uniqueness signatures 2020-02-14 16:56:14 +01:00
Folkert
eba985da7a make recursive inference work again 2020-02-14 16:42:07 +01:00
Folkert
a739c4edfb use builtins for uniqueness_infer 2020-02-14 16:31:20 +01:00
Folkert
3c87237d76 make most uniqueness infer tests pass 2020-02-14 15:09:26 +01:00
Folkert
92f3575dca make test_infer pass
Requires some changes to pretty printing to turn `Num Integer` into `Int`, and the builtin aliases must be available during typechecking
2020-02-14 14:33:07 +01:00