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