Ayaz Hafiz
cca5f53e98
equal_types_var requires a type index
2022-10-24 17:30:04 -05:00
Ayaz Hafiz
91eb9aaea4
Rename variables
2022-10-24 14:30:50 -05:00
Ayaz Hafiz
83e35fa40d
Get rid of another clone
2022-10-24 14:29:05 -05:00
Ayaz Hafiz
0b8ac07287
Get rid of more type clones
2022-10-24 14:25:19 -05:00
Ayaz Hafiz
7c3fe5bc44
Remove some type clones
2022-10-24 14:11:53 -05:00
Ayaz Hafiz
55d7f3f658
Require type and expected indices in equal_types constraints
2022-10-24 14:05:19 -05:00
Ayaz Hafiz
1f498b52d5
Better name solve test
2022-10-24 14:02:38 -05:00
Ayaz Hafiz
fc6f7d2613
Basic support for multi-ability docs
2022-10-24 14:00:46 -05:00
Ayaz Hafiz
1053c11907
Basic formatting of multi-abilities
2022-10-24 14:00:46 -05:00
Ayaz Hafiz
0642952d05
Remove some resolved todos
2022-10-24 14:00:46 -05:00
Ayaz Hafiz
66e75b8660
Simplify instantiation of bound able variables in non-delayed aliases
2022-10-24 14:00:46 -05:00
Ayaz Hafiz
3f5a86ded3
Update ability bindings
2022-10-24 14:00:46 -05:00
Ayaz Hafiz
0da72df5e9
Add ability slice to eq obligation checker
2022-10-24 14:00:46 -05:00
Ayaz Hafiz
2961d1a8be
Remove redundant reference
2022-10-24 14:00:45 -05:00
Ayaz Hafiz
b1a113e084
Simplify confusing error message
2022-10-24 14:00:45 -05:00
Ayaz Hafiz
c1ca64bbc9
Error messages when multiple ability bounds are missing or incomplete
2022-10-24 14:00:45 -05:00
Ayaz Hafiz
c0257302a9
Address clippy lints
2022-10-24 14:00:45 -05:00
Ayaz Hafiz
152400dea3
Add gen test for multiple ability bounds
2022-10-24 14:00:45 -05:00
Ayaz Hafiz
3bd10698cf
Allow rigid able to unify with flex able when rigid bounds are a superset
2022-10-24 14:00:45 -05:00
Ayaz Hafiz
0a96a93a67
Add test for inferring multiple ability bounds
2022-10-24 14:00:44 -05:00
Ayaz Hafiz
46b741e9dd
Correctly clone able vars across subs
2022-10-24 13:59:52 -05:00
Ayaz Hafiz
9c88534758
Obligation checking layers on extra abilities bound to a variable
2022-10-24 13:59:52 -05:00
Ayaz Hafiz
db7fe48d1c
Merge muliple abilities bound to flex var
2022-10-24 13:59:52 -05:00
Ayaz Hafiz
49e19d96e5
Print multiple abilities in error types
2022-10-24 13:59:52 -05:00
Ayaz Hafiz
94fc58a508
Pretty-print variables bound to multiple abilities
2022-10-24 13:59:52 -05:00
Ayaz Hafiz
4541b41f7b
Revert VecSet-related changes
2022-10-24 13:59:51 -05:00
Ayaz Hafiz
1e6181d2cb
New data structure for storing sorted abilities bound to a variable
2022-10-24 13:59:51 -05:00
Ayaz Hafiz
229548571b
Represent "able" variables with slices of abilities
2022-10-24 13:59:51 -05:00
Ayaz Hafiz
0f0678ce73
s/closure_names/symbol_names/g in subs
2022-10-24 13:59:51 -05:00
Ayaz Hafiz
2011ec97c3
Store multiple abilities as a VecSet
2022-10-24 13:59:51 -05:00
Ayaz Hafiz
603160dae3
Report errors for duplicate bound abilities
2022-10-24 13:59:50 -05:00
Ayaz Hafiz
231a72f2ee
Insert first ability correctly in the parser
2022-10-24 13:56:07 -05:00
Ayaz Hafiz
6bb97c92b9
Canonicalize multiple abilities bound to a type variable
2022-10-24 13:56:07 -05:00
Ayaz Hafiz
97dbac1631
Add tests for multiple abilities bound to a variable
2022-10-24 13:56:07 -05:00
Ayaz Hafiz
548a235c25
Support parsing multiple abilities in a clause
2022-10-24 13:56:06 -05:00
Richard Feldman
bdc565762b
Merge pull request #4383 from roc-lang/docs-updates
...
"Different names" tip in builtin docs
2022-10-24 11:39:29 -07:00
Ayaz
89f14e73a0
Merge pull request #4358 from roc-lang/derive-opaque-defs
...
Auto-derive ability implementations for opaques in canonicalization
2022-10-24 13:24:51 -05:00
Ayaz Hafiz
35a4781045
Get rid of redundant references
2022-10-24 13:13:08 -05:00
Ayaz Hafiz
9b24205906
Emplace variables made from types in expectations
2022-10-24 13:11:35 -05:00
Anton-4
3dac06935f
Merge pull request #4396 from roc-lang/extend-faq
...
add question to FAQ
2022-10-24 19:44:43 +02:00
Ayaz Hafiz
04a3f1c00e
Use a helper to emplace type cells
2022-10-24 12:07:00 -05:00
Ayaz Hafiz
d3e14550d8
Leave variables behind when converting Type
s to variables
...
This is part one of addressing the present issues with emplacing type
directly where type variables should be reused. Now, when an
`Index<Type>` is converted to a variable in solving, we leave the
converted variable in the `Type`'s place. Specifically, we keep an index
to a `Cell<Type>`.
Note that this transformation is only temporary, it will be removed once
we merge this with the `Type` SoA representation, but it is needed in
the meantime as I transform the `Constrain` API to get rid of
type-emplacement.
2022-10-24 11:42:35 -05:00
Ayaz
ff9a9081ec
Merge pull request #4397 from roc-lang/i4389
...
Do not attempt to lookup functions in `expect`s
2022-10-24 11:21:10 -05:00
Ayaz Hafiz
5164994fb5
Do not attempt to lookup functions in expect
s
...
Functions are not useful to print in expect results, because they are
only printed opaquely as `<function>`. Moreover, their transformation to
closure sets during mono can be extremely lossy, up to and including the
elision of symbols for function closure symbols. As such, simply do not
attempt to lookup or print functions referenced in expects.
Closes #4389
2022-10-24 10:28:56 -05:00
Anton-4
a69f2a9f78
add question to FAQ
...
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2022-10-24 16:08:43 +02:00
Ayaz
50fac9cc9e
Merge pull request #4393 from roc-lang/simple-signing
...
simple signing workaround
2022-10-24 08:06:00 -05:00
Folkert de Vries
8fd2a33a7b
Merge pull request #4395 from keerthanak-tw/main
...
Add how to sign unsigned commits section
2022-10-24 14:39:38 +02:00
Anton-4
14710e1dc9
minor changes
...
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2022-10-24 13:47:40 +02:00
Keerthana Kasthuril
38409221b6
Add how to sign unsigned commits section
...
Signed-off-by: Keerthana Kasthuril <76804118+keerthanak-tw@users.noreply.github.com>
2022-10-24 17:01:34 +05:30
Folkert de Vries
e7bbef04e5
Merge pull request #4385 from nickgravgaard/main
...
Change TUI platform to call view on initial model
2022-10-24 12:29:53 +02:00