Richard Feldman
4eec34becf
Update to use new square brace formatting
2022-05-22 23:15:54 -04:00
Richard Feldman
a4a5f438e6
Update type pretty-printing
2022-05-22 18:35:56 -04:00
Folkert
fb37d925dc
deal with aliases around number types
2022-05-21 21:28:31 +02:00
Folkert
99a879d795
cleanup
2022-05-21 20:56:56 +02:00
Folkert
d43bda83b4
cleanup
2022-05-21 20:50:06 +02:00
Folkert
98ce9f4d09
remove the snapshots
2022-05-21 20:42:19 +02:00
Folkert
cb40aab21f
refactor number bounds
2022-05-21 18:53:50 +02:00
Folkert
8c44661bc2
use set_content_unchecked; replace modify with a single set
2022-05-21 14:06:43 +02:00
Folkert
f1e1c45f2f
some more unchecked operations
2022-05-21 13:52:44 +02:00
Folkert
a1894195d3
refactoring trivial copy detection
2022-05-21 13:48:28 +02:00
Folkert
a705d6a6e8
unchecked in making the rank table
2022-05-20 23:28:56 +02:00
Folkert
e20ac3f38f
use unchecked operations in generalization
2022-05-20 23:18:27 +02:00
Folkert
6bedf126ae
unchecked variants of functions (don't check the rootness of the key
2022-05-20 23:06:47 +02:00
Folkert
a99489fb57
implement get_rank_set_mark natively
2022-05-20 22:54:51 +02:00
Folkert
afedc4ab01
implement .modify() natively
2022-05-20 22:54:33 +02:00
Folkert
ac30ec5489
inline OptVariable functions
2022-05-20 22:53:56 +02:00
Folkert
e9bdf0e5de
re-enable builtin module caching
2022-05-20 22:24:21 +02:00
Folkert
2b94eeed60
switch to new unification table
2022-05-20 21:54:22 +02:00
Folkert
22ca51c881
get/set copy
2022-05-20 21:14:33 +02:00
Folkert
4489a308e4
use modify over getting a mutable reference
2022-05-20 21:02:53 +02:00
Folkert
39c156b970
add our own custom unification table
2022-05-20 18:39:26 +02:00
Ayaz Hafiz
bb0777c3c8
Revert "Add a content visitor"
...
This reverts commit 70b923e3fe8307275f6a0de422e6d35d91afb1eb.
2022-05-19 18:23:02 -04:00
Ayaz Hafiz
83a8d360c1
Add a content visitor
2022-05-19 18:23:02 -04:00
Ayaz Hafiz
d499c06678
Remove unused function
2022-05-19 18:23:01 -04:00
Richard Feldman
226fe40069
cargo fmt
2022-05-16 12:13:18 -04:00
Anton-4
0f59f3097a
cargo fix --edition
2022-05-16 17:04:17 +02:00
Folkert
69e7d0a378
use opt var in cycle marks
2022-05-15 13:14:18 +02:00
Ayaz Hafiz
710a10a29c
Check for invalid cycles after type solving recursive defs
...
Disallow cycles that pass through a non-function value. Since we
evaluate eagerly, having one such cycle means there is at least one path
in the program that (likely) has unbounded recursion. Of course we can't
be certain (halting problem), but it's very likely, and avoids stuff
like #1926 . Also, mono (as it's done today) won't work if things in a
cycle aren't functions.
Closes #1926
2022-05-11 14:57:01 -04:00
Richard Feldman
11e2faa87a
Merge pull request #3050 from rtfeldman/bindgen-tag-payloads
...
Bindgen single-tag unions
2022-05-10 19:27:25 -04:00
Folkert de Vries
89c6f55288
Merge pull request #3048 from rtfeldman/i/2389
...
Type solving paper cuts
2022-05-10 20:45:45 +02:00
Ayaz Hafiz
4339d50480
Improve cycle error message
...
Closes #2513
2022-05-10 12:11:32 -04:00
Ayaz Hafiz
1fb6718c00
Improve error type context field name
2022-05-10 11:32:45 -04:00
Ayaz Hafiz
3ddb14184d
Move dead code removal
2022-05-10 11:29:10 -04:00
Ayaz Hafiz
a9507cf917
Consolidate variable pretty printing
2022-05-10 11:24:41 -04:00
Ayaz Hafiz
3497237c99
Print recursion vars correctly
2022-05-10 10:40:37 -04:00
Richard Feldman
64065a5019
Add UnionTags::iter_from_subs
2022-05-09 22:29:11 -04:00
Richard Feldman
e86ef8d1ca
Make a lifetime more explicit
2022-05-09 18:42:37 -04:00
Richard Feldman
df7df4ccf8
Merge branch 'trunk' into mfonism/rename-num-float-type-to-frac
2022-05-08 20:54:33 -04:00
Ayaz Hafiz
b3845c21bd
Print able type variables correctly
2022-05-08 15:08:19 -04:00
Ayaz Hafiz
2e57bf0b6a
Permit able variables in aliases, and thread them through
2022-05-08 15:08:14 -04:00
Mfon Eti-mfon
9068c2414e
Rename float functions and vars
2022-05-08 18:42:12 +01:00
Mfon Eti-mfon
85c622b169
Update symbols definition
2022-05-08 15:54:34 +01:00
Ayaz Hafiz
7e234d4550
Instantiate aliases in delayed alias args
2022-05-06 16:04:47 -04:00
ayazhafiz
ef77ff35cf
Improve expectation for platform requires mismatch
...
```
── TYPE MISMATCH ───── examples/hello-world/rust-platform/./Package-Config.roc ─
Something is off with the type annotation of the main required symbol:
2│ requires {} { main : a -> a }
^^^^^^
This #UserApp.main value is a:
Str
But the type annotation on main says it should be:
a -> a
────────────────────────────────────────────────────────────────────────────────
```
2022-05-06 12:06:27 -04:00
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