Folkert
9854f068d9
change the internal representation of Symbol to two u32's
2022-05-04 22:57:49 +02:00
Ayaz
3197cd97ce
Merge pull request #2977 from rtfeldman/debug_flags
...
Factor bespoke debug variables into debug_flags crate
2022-04-30 18:16:06 -04:00
Ayaz Hafiz
9964f86a3d
Factor bespoke debug variables into debug_flags crate
2022-04-29 17:45:55 -04:00
Ayaz Hafiz
83c6c3a17d
Remove Lowercase from Alias and Opaque
2022-04-29 11:36:31 -04:00
Ayaz Hafiz
c225515a1b
Get rid of variable name on DelayedAlias
2022-04-29 10:55:29 -04:00
Ayaz Hafiz
9dac9e4bc2
Coalesce
2022-04-28 20:34:03 -04:00
Ayaz Hafiz
bd4f004cea
Some marks are always known
2022-04-28 20:33:48 -04:00
Ayaz Hafiz
51c8702820
Smarter marks
2022-04-28 20:33:48 -04:00
Ayaz Hafiz
2f1306afd1
Redundant and exhaustive marks in mono
2022-04-28 20:33:48 -04:00
Ayaz Hafiz
98869b557d
Exhaustive and redundant marks
2022-04-28 20:33:48 -04:00
Ayaz
98a3523702
Merge pull request #2961 from rtfeldman/improved-identids
...
Improved identids
2022-04-27 10:11:06 -04:00
Richard Feldman
6da39aa296
Merge pull request #2917 from rtfeldman/move-exhaustiveness-checking
...
Moves exhaustiveness checking to type solving phase
2022-04-25 20:55:05 -04:00
Ayaz Hafiz
03deec23c3
Constants
2022-04-25 19:04:10 -04:00
Ayaz Hafiz
85e3373d8b
Move exhaustiveness checking to type checking
2022-04-25 19:04:09 -04:00
Ayaz Hafiz
356616d834
Move exhaustiveness checking to type solving phase with solve tests
2022-04-25 19:04:08 -04:00
Folkert
af6c3231f3
Improved IdentIds
2022-04-25 23:15:57 +02:00
Richard Feldman
85e7969c2d
Replace references to "global tag" with "tag"
2022-04-25 17:04:34 -04:00
Ayaz Hafiz
2020d5f30f
Format
2022-04-25 13:16:44 -04:00
Ayaz
ccaddcebbb
Merge branch 'trunk' into remove-private-tags
2022-04-25 13:14:42 -04:00
Ayaz Hafiz
55706ae5c4
Remove other references to private tags in code
2022-04-25 11:50:00 -04:00
Ayaz Hafiz
cf8409dfaa
Remove private tag variants
2022-04-25 11:38:54 -04:00
Ayaz
53c8dee4ed
Merge pull request #2926 from rtfeldman/matrix-correct-mutual-type-alias
...
Matrix correct mutual type alias
2022-04-25 11:19:59 -04:00
Ayaz Hafiz
b6383f81ee
Numbers are opaques
2022-04-25 10:59:42 -04:00
Ayaz Hafiz
f5b0b0219e
Remove hack
2022-04-25 10:59:42 -04:00
Ayaz Hafiz
caf65ba2f8
Fix codegen of effect symbols
2022-04-25 10:59:42 -04:00
Ayaz Hafiz
23bbe0863b
Fix effect module
2022-04-25 10:59:41 -04:00
Ayaz
64ed7eea95
Merge branch 'trunk' into fix-when-branch-solving
2022-04-24 12:19:22 -04:00
Folkert
b0ceaf0372
instantiate aliases with a function
2022-04-24 01:04:59 +02:00
Ayaz Hafiz
435781aa5b
Static assertions that certain types implement Copy
2022-04-23 10:56:54 -04:00
Ayaz Hafiz
633bdd5520
Fix failing reporting tests
2022-04-23 10:56:54 -04:00
Ayaz Hafiz
1e1ffb2f62
Bugfix use root var
2022-04-22 17:57:01 -04:00
Ayaz Hafiz
b61481c6e7
Try another strategy - fix recursion vars during typechecking
2022-04-22 17:57:01 -04:00
Ayaz Hafiz
b0aafd762a
Show more type information in pretty printing
2022-04-22 17:57:01 -04:00
Richard Feldman
058bfdb8d0
Improve perf of finding type new type variables
2022-04-20 21:39:09 -04:00
Ayaz Hafiz
a07323fb40
Typecheck annotations with able variables outside ability members
2022-04-20 17:43:16 -04:00
Folkert
5501787e64
delete unused code
2022-04-17 13:53:17 +02:00
Folkert
e112f6ad2c
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc
2022-04-16 21:01:51 +02:00
Sean Hagstrom
37d3e355ca
refactor the logic for pretty printing float types into one function
2022-04-15 16:37:39 +01:00
Sean Hagstrom
c67a1bb8d4
fix(repl) and fix(pretty_print): update pretty_print output for Num FloatingPoint *
to be Float *
instead of F64
2022-04-15 16:37:39 +01:00
Ayaz Hafiz
491ec0034a
Don't try to send type problems over module boundaries
...
Closes #2863
Closes #2858
2022-04-15 10:01:26 -04:00
Richard Feldman
4ea4aa4708
Merge pull request #2838 from rtfeldman/abilities-typechecking
...
Inference and checking for abilities
2022-04-13 22:03:44 -04:00
Ayaz Hafiz
6343382af5
Propogate errors in record fields to layout error
...
Closes #2812
Unfortunately we don't have a great way to test this without scaffolding
a host since this happens while processing a variable exposed to the
host. In tests the root cause just yields a type error first and codegen
works, just bails during the runtime. But this works.
2022-04-13 16:23:13 -04:00
Ayaz Hafiz
d94556d807
Report overly general specializations
2022-04-12 18:52:49 -04:00
Ayaz Hafiz
15a040ec87
Basic type inference and solving for abilities
...
Note that is still pretty limited. We only permit opaque types to
implement abilities, abilities cannot have type arguments, and also no
other functions may depend on abilities
2022-04-12 16:18:07 -04:00
Folkert
6ef443d1b0
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc
2022-04-10 19:14:00 +02:00
Folkert
166c949c3b
clippy
2022-04-09 12:24:12 +02:00
Ayaz
69ed0b755a
Merge pull request #2804 from rtfeldman/abilities-canonicalization
...
Basic canonicalization, error checking for abilities
2022-04-08 12:00:23 -04:00
Folkert
1d0f9e9192
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc
2022-04-08 15:47:11 +02:00
Ayaz Hafiz
17b3c7d8ee
Generate type variables when there are lots
...
Closes #2797
2022-04-07 17:49:48 -04:00
Ayaz Hafiz
66ec1b4a84
Basic canonicalization and error checking for abilities
2022-04-07 17:21:17 -04:00