Ayaz
2ab0bc1226
Merge pull request #2982 from rtfeldman/more-debug-flags
...
Add more debug flags
2022-05-01 14:30:33 -04:00
Ayaz
84b3ef5fd7
Merge pull request #2978 from rtfeldman/scope-bitmask
...
Scope bitmask
2022-05-01 12:26:14 -04:00
ayazhafiz
37ba70472f
Add more debug flags
2022-05-01 12:25:03 -04:00
Folkert
76754e4d2a
use &str instead of Ident in some key places
2022-04-30 20:43:12 +02:00
Ayaz Hafiz
9964f86a3d
Factor bespoke debug variables into debug_flags crate
2022-04-29 17:45:55 -04:00
Ayaz Hafiz
5f8834d6b4
I dont got no references
2022-04-28 20:34:04 -04:00
Ayaz Hafiz
c969c7a15e
Remove more exhaustiveness checks in mono
2022-04-28 20:34:04 -04:00
Ayaz Hafiz
1af207325e
Simplify again
2022-04-28 20:34:04 -04:00
Ayaz Hafiz
ae0c0fe8fe
Simplify
2022-04-28 20:34:04 -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
98a3523702
Merge pull request #2961 from rtfeldman/improved-identids
...
Improved identids
2022-04-27 10:11:06 -04:00
Folkert
d3ef35d935
rename
2022-04-26 11:33:26 +02: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
17e7b10267
Fought against clippy and lost
2022-04-25 19:04:09 -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
cf8409dfaa
Remove private tag variants
2022-04-25 11:38:54 -04:00
Ayaz Hafiz
b796b68df7
Remove dead code
2022-04-25 11:00:50 -04:00
Ayaz Hafiz
b6383f81ee
Numbers are opaques
2022-04-25 10:59:42 -04:00
Ayaz Hafiz
5d1dd81e93
Reuse symbol when opaque type wraps a known symbol
...
Opaques decay immediately into their argument during codegen, so we need
to handle something that's effectively variable aliasing correctly.
This bug popped up while migrating all current private tags to opaques.
2022-04-23 14:37:52 -04:00
Ayaz Hafiz
3eb7824c7a
Typos
2022-04-22 17:57:02 -04:00
Ayaz Hafiz
5dfe44c72d
Render nullable wrapped tag unions that pass through aliases
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
02d5cd7885
Deal with recursive pointers that pass through non-recursive layouts
2022-04-22 17:57:01 -04:00
Folkert de Vries
2cc8e95198
Merge pull request #2901 from rtfeldman/vec-map
...
VecMap
2022-04-21 09:16:38 +02:00
Ayaz Hafiz
0387eeed23
Make sure we're generating correct code with has annotations
2022-04-20 17:45:41 -04:00
Folkert
8b144c446d
remove PartialEq for a bunch of types that we should not compare
2022-04-20 16:58:30 +02:00
Brian Carroll
f8156ffd53
Merge pull request #2834 from rtfeldman/wasm-list-map-n
...
Wasm List.mapN
2022-04-20 14:47:04 +01:00
Folkert
8692938fb3
Merge branch 'vecset-references' into builtins-in-roc
2022-04-17 19:39:03 +02:00
Folkert
e112f6ad2c
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc
2022-04-16 21:01:51 +02:00
Folkert
1568a57de0
turn panic into runtime error
2022-04-16 19:42:08 +02:00
Ayaz Hafiz
e6b0d9a820
Fix typo
2022-04-15 10:54:35 -04:00
Ayaz Hafiz
95783e03a1
Handle aliasing of ability members
2022-04-15 10:21:35 -04:00
Ayaz Hafiz
b79b351136
The first ability... compiles
2022-04-14 16:50:41 -04:00
Ayaz Hafiz
eb81c68bcb
Pass abilities store to mono
2022-04-14 16:20:55 -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
Richard Feldman
75ed66b4a8
Merge pull request #2843 from rtfeldman/i/2812
...
Propogate errors in record fields to layout error
2022-04-13 21:56:53 -04:00
Ayaz Hafiz
41dd7d0b4d
Specialize bodies with body var, not function var
...
I'm surprised code generation worked so well without this, before...
Closes #2818
2022-04-13 18:35:50 -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
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
Brian Carroll
7b96e953ba
wasm: Get List.map2 working
2022-04-11 14:36:31 +01:00
Folkert
6ef443d1b0
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc
2022-04-10 19:14:00 +02:00
Folkert de Vries
7675e0232b
Merge pull request #2819 from rtfeldman/zero-arg-tag
...
Drop unused `arguments` field from `ZeroArgumentTag`
2022-04-10 15:18:03 +02:00
Ayaz Hafiz
a102a7497e
Support box/unbox for types that are typically only on the stack
...
Closes #2786
2022-04-09 16:22:01 -04:00
Folkert
166c949c3b
clippy
2022-04-09 12:24:12 +02:00