Brendan Hansknecht
72c36129a4
switch to iterators with some cloning to enable reserving HashSet size and avoiding the cost of rehashing
2023-03-22 13:41:40 -07:00
Brendan Hansknecht
9bfe2af259
switch away from drain and instead use into_iter
2023-03-22 13:41:40 -07:00
Brendan Hansknecht
3ef6d9846c
switch morphic to better hashing algorithms
2023-03-22 13:41:40 -07:00
Ayaz Hafiz
e96be7c746
Factor out decoders into separate files
2023-03-22 12:29:21 -05:00
Ayaz Hafiz
5e0a6e5926
Derive key for Decoding tuples
2023-03-22 12:23:16 -05:00
Ayaz Hafiz
92aff265ae
Add doc comment to Decode.record
2023-03-22 12:19:20 -05:00
Ayaz Hafiz
0b3ee77232
Add in Decode.tuple ability member
2023-03-22 12:18:04 -05:00
Ayaz Hafiz
c7bd430026
Gen tests for derived tuple encoding
2023-03-22 11:40:55 -05:00
Ayaz Hafiz
0b4a45c70d
Derive encoding for tuples
2023-03-22 11:37:47 -05:00
Ayaz Hafiz
e5fcb05a2d
Implement derivation keys for tuple encoders
2023-03-22 11:19:47 -05:00
Ayaz Hafiz
a361c4cfc1
Add the tuple
ability member to EncoderFormatting
2023-03-22 11:14:46 -05:00
Ayaz Hafiz
8a7d9f8f23
Better debugging when lambda set region is missing
2023-03-22 11:13:00 -05:00
Ayaz Hafiz
72c9b76f23
Gen Eq test for tuple
2023-03-22 10:55:15 -05:00
Ayaz Hafiz
143f39d273
Gen tests for derivation of tuple hash
2023-03-22 10:53:14 -05:00
Ayaz Hafiz
c32bc5f152
Offset tuple element indices correctly when importing
2023-03-22 10:52:31 -05:00
Ayaz Hafiz
8f7b6aaeaa
Implement hash derivation for tuple
2023-03-22 10:28:13 -05:00
Ayaz Hafiz
66fb2f476e
Pretty-print tuple access
2023-03-22 10:27:49 -05:00
Ayaz Hafiz
d9c7010104
Add derive-key tests for derived hash
2023-03-22 10:19:14 -05:00
Ayaz Hafiz
e6cac71ca5
Add support for hash key of tuples
2023-03-22 10:09:57 -05:00
Ayaz Hafiz
f4f9ae7a5d
Implement obligation checking of tuples for all abilities
2023-03-22 10:03:01 -05:00
Ayaz Hafiz
240c1f35d6
Ranged number abilities are derived and compiled correctly
...
Closes #5089
2023-03-22 09:42:06 -05:00
Ayaz Hafiz
3603183817
Apply opaque pointer recasting to all recursive layouts
2023-03-22 08:21:09 -05:00
Ayaz Hafiz
3a960e7809
Properly recast nested recursion pointers to their expanded layouts as needed
...
When we load a structure with a nested recursive pointer, the pointer
may be loaded opaquely. We need to refine it to the concrete type wanted
by the layout.
This conversion can be removed after we upgrade to LLVM 15.
Closes #5162
2023-03-22 08:21:08 -05:00
Ayaz
6d8ddcc583
Merge branch 'main' into i5169
...
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
2023-03-22 09:02:03 -04:00
Ayaz
63ef4a486f
Merge pull request #5173 from roc-lang/i5148
2023-03-22 08:59:39 -04:00
Brendan Hansknecht
8d5f443fcd
Merge remote-tracking branch 'origin/main' into pluggable-glue
2023-03-21 11:07:47 -07:00
Ayaz Hafiz
41541b01e6
Pattern is exhaustive
2023-03-21 13:54:17 -04:00
Ayaz
6b3f3ba1a1
Merge pull request #5167 from roc-lang/fix-closure-captures-recursive
...
Ensure that closures inside recursive closures capture correctly
2023-03-21 13:53:33 -04:00
Ayaz Hafiz
4c2f8f3566
Support tuples in the repl
...
Closes #5148
2023-03-21 13:53:07 -04:00
Ayaz Hafiz
6ea6aef0db
Fix repl eval of Str.toDec
...
Closes #5169
2023-03-21 12:22:08 -04:00
Anton-4
9742fc0f9e
Merge pull request #5132 from itmuckel/docs-links-in-headers
...
Add github style links to docs sections
2023-03-21 15:22:07 +01:00
Richard Feldman
2276c78d9f
Merge pull request #5093 from roc-lang/glue-getters-rtfeldman
...
Glue for functions and closures
2023-03-21 08:12:19 -04:00
Ayaz Hafiz
700d2d1b31
Check in mono golden
2023-03-21 07:18:12 -04:00
Anton-4
f11bf90d6d
values name change
2023-03-21 11:34:10 +01:00
Ayaz Hafiz
e8a29d2df4
Ensure that closures inside recursive closures capture correctly
...
With a code like
```
thenDo = \x, callback ->
callback x
f = \{} ->
code = 10u16
bf = \{} ->
thenDo code \_ -> bf {}
bf {}
```
The lambda `\_ -> bf {}` must capture `bf`. Previously, this would not
happen correctly, because we assumed that mutually recursive functions
(including singleton recursive functions, like `bf` here) cannot capture
themselves.
Of course, that premise does not hold in general. Instead, we should have
mutually recursive functions capture the closure (haha, get it) of
values captured by all functions constituting the mutual recursion.
Then, any nested closures can capture outer recursive closures' values
appropriately.
2023-03-20 17:44:59 -04:00
Anton-4
8da9af94f2
use latest basic-cli, better error messages
2023-03-20 20:06:36 +01:00
itmuckel
97f68974a9
Code Review Changes
2023-03-20 19:53:38 +01:00
itmuckel
cc70413e05
Add github style links to docs sections
2023-03-20 19:53:31 +01:00
Anton-4
6e0dc30797
fixes, build tar.br now
2023-03-20 16:32:54 +01:00
Anton-4
f619a35c7c
.rh and .rm adjustments, basic-cli nightly prep
2023-03-20 12:24:30 +01:00
Anton-4
3eda00cb62
Merge pull request #5144 from lukewilliamboswell/static-site
...
Add code file import feature for `static-site-gen` platform
2023-03-20 11:16:57 +01:00
Anton-4
9c0d2a2eb0
some style changes
2023-03-18 14:22:52 +01:00
Anton-4
c536c70238
Merge pull request #5159 from swork1/better-mobile-support
...
fix mobile support for button container
2023-03-18 12:37:22 +01:00
Brendan Hansknecht
04f46e7425
Merge pull request #5155 from swork1/builtin-dict-docs
...
add docs/tests to Dict builtin
2023-03-17 21:12:01 +00:00
Seth Workman
4756781f25
fix mobile support for button container
2023-03-17 15:27:13 -05:00
Seth Workman
29e0673308
update dict.txt
2023-03-17 11:33:39 -05:00
Seth Workman
6471ce8a72
Merge branch 'roc-lang:main' into copy-button-#5137
2023-03-17 11:16:18 -05:00
Seth Workman
deadd19de0
Merge branch 'roc-lang:main' into builtin-dict-docs
2023-03-17 11:02:57 -05:00
Seth Workman
fed541947a
add copy button to builtin docs
2023-03-17 08:51:53 -05:00
Seth Workman
dccb1be5b5
fix naming to be relevant to example
2023-03-17 08:36:50 -05:00