Commit graph

4827 commits

Author SHA1 Message Date
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
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 Types 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
Folkert
b4878e5550
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects 2022-10-24 18:39:30 +02:00
Ayaz Hafiz
5164994fb5
Do not attempt to lookup functions in expects
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
Luke Boswell
d85a493abd
adding more docs for Dict.roc 2022-10-24 20:44:00 +11:00
Luke Boswell
9c3666c5e3
increase clarity for order of operations for NOT 2022-10-24 20:06:19 +11:00
Luke Boswell
dc8cdecd05
increase clarity for order of operations in examples 2022-10-24 20:04:15 +11:00
Luke Boswell
f287a77035
fix order of operations in Bool tests on AND 2022-10-24 20:02:37 +11:00
Luke Boswell
dd586d31a5
updating docs for Box and Dict 2022-10-24 20:00:33 +11:00
Anton-4
0286524892
Merge pull request #4289 from cjduncana/dict-testing
Add Dict module to the testing CI
2022-10-24 09:12:07 +02:00
Luke Boswell
b73401ab52
typo fixes 2022-10-24 18:02:53 +11:00
Luke Boswell
f409387127
updated docs for Bool.roc 2022-10-24 17:56:56 +11:00
Ayaz Hafiz
14e0cd1b84
Address syntax error 2022-10-23 20:49:06 -05:00
Ayaz Hafiz
8ff74465b9
Format Decode.roc 2022-10-23 20:48:07 -05:00
Ayaz Hafiz
89def77f01
Use derived Eq impl for Dict and Set 2022-10-23 20:48:07 -05:00
Ayaz Hafiz
e75f3c3c79
Get rid of MemberImpl::Derived
We don't need this anymore, since derived members become Impls during
canonicalization now!
2022-10-23 20:48:07 -05:00
Ayaz Hafiz
1d885c4ab2
Support deriving Decode for opaques 2022-10-23 20:48:06 -05:00
Ayaz Hafiz
61ba59de07
Even more unneeded allocations 2022-10-23 20:48:06 -05:00
Ayaz Hafiz
e08b613047
Add Decode.mapResult 2022-10-23 20:48:06 -05:00
Ayaz Hafiz
bb8888b115
Make sure we don't report errors for illegal derived bodies, just their decls 2022-10-23 20:48:05 -05:00
Ayaz Hafiz
3f09de7052
Remove unused var 2022-10-23 20:47:43 -05:00
Ayaz Hafiz
59dfc4ab99
Move can-derived bodies to their own module 2022-10-23 20:47:43 -05:00
Ayaz Hafiz
6edab8b7cc
Avoid unneeded allocations 2022-10-23 20:47:43 -05:00
Ayaz Hafiz
c4f9aa6fe6
Add deriving toEncoder for opaques 2022-10-23 20:47:42 -05:00
Ayaz Hafiz
83813afeaf
Derive Eq for opaques 2022-10-23 20:46:56 -05:00
Ayaz Hafiz
40e05d5a00
Add support for deriving Hash for opaques 2022-10-23 20:46:56 -05:00
Ayaz Hafiz
b51816d5ef
Improve documentation and structure of UseDepth 2022-10-23 20:44:04 -05:00
Ayaz Hafiz
ee8e718cc1
Support monomorphic captures of polymorphic expressions in closures
Closes #4349
2022-10-23 20:44:03 -05:00
Richard Feldman
7737aac810
Drop the trailing "/" in docs sidebar links 2022-10-23 21:10:35 -04:00
Richard Feldman
921ab885ce
Move where the "different name" tip goes 2022-10-23 18:55:41 -04:00
Richard Feldman
c15a1dde22
Restyle search key shortcut 2022-10-23 18:55:40 -04:00
Folkert
1d45b7d1b5
remove a copy 2022-10-23 22:59:25 +02:00
Folkert
43c3095337
fix bug in loop 2022-10-23 22:55:01 +02:00
Folkert
0071c9aa04
update the dynhost file (dll name is now different) 2022-10-23 21:30:52 +02:00
Folkert
c4e407f703
remove subtraction of image base; value is already an rva 2022-10-23 20:19:34 +02:00
Folkert
28665abc96
use libapp.dll as the dll name 2022-10-23 20:18:09 +02:00
Folkert
ca90b00588
correctly update the size of the base relocations (round up to multiple of 8) 2022-10-23 20:16:46 +02:00
Folkert
f0f94107d5
deal with imports being stored in .idata or .rdata 2022-10-23 20:15:35 +02:00
Folkert
9c9e495e14
deal with our dummy dll not being the last import in the file 2022-10-23 20:10:38 +02:00
Folkert
215cacb260
add .lib file generation for windows 2022-10-23 20:06:31 +02:00