Brendan Hansknecht
f398bb1eff
switch hashStr to use addBytes
2022-10-14 07:45:49 -07:00
Brendan Hansknecht
49c3fe1643
add version of wyhash to roc lib
2022-10-14 07:45:49 -07:00
Ayaz
e471f4b388
Merge pull request #4290 from roc-lang/impl-eq
...
Add the `Eq` ability
2022-10-13 16:13:51 -05:00
Folkert de Vries
da0a8f0b2b
Merge pull request #4312 from roc-lang/i4309
...
Correctly destructure patterns that are assigned to a thunk'd value
2022-10-13 00:22:04 +02:00
Ayaz Hafiz
ee1d93ba06
Rollup review comment suggestions from #4302
2022-10-12 16:42:11 -05:00
Ayaz Hafiz
b8cbaf6946
Resume caching Bool, Dict, and Set
2022-10-12 16:40:20 -05:00
Ayaz Hafiz
6e5de0d0a9
Disable test on gen-dev, for now
2022-10-12 16:38:37 -05:00
Ayaz Hafiz
7fa2778ecf
Fix even more load tests
2022-10-12 16:38:37 -05:00
Ayaz Hafiz
ccfb85325d
Update load tests
2022-10-12 16:38:37 -05:00
Ayaz Hafiz
861800ceea
Fix gen tests in the presence of Eq
2022-10-12 16:38:37 -05:00
Ayaz Hafiz
595433b8c8
Make sure to map structuralNotEq to NotEq
2022-10-12 16:38:37 -05:00
Ayaz Hafiz
c5a025f853
s/Eq/Bool
2022-10-12 16:38:37 -05:00
Ayaz Hafiz
6149c289fc
Update Eq symbols
2022-10-12 16:38:36 -05:00
Ayaz Hafiz
81fa0407b6
Satiate must_use reason
2022-10-12 16:38:36 -05:00
Ayaz Hafiz
8d91370836
TODO is resolved
2022-10-12 16:38:36 -05:00
Ayaz Hafiz
3192bed417
Make sure structuralEq, structuralNotEq is not importable
2022-10-12 16:38:36 -05:00
Ayaz Hafiz
fe9b848686
Mark structuralEq
as not exposed on the surface
2022-10-12 16:38:36 -05:00
Ayaz Hafiz
b04d7a9471
Bind types passed to isNotEq
to Eq
2022-10-12 16:38:36 -05:00
Ayaz Hafiz
0f96a1231e
Fromat Bool.roc
2022-10-12 16:38:36 -05:00
Ayaz Hafiz
43086a7e25
Enable remaining gen tests
2022-10-12 16:38:35 -05:00
Ayaz Hafiz
4fa5cc0ac3
Disable Bool, Dict, Set caching until abilities caching
2022-10-12 16:38:34 -05:00
Ayaz Hafiz
a256947a9f
Move Eq to Bool
2022-10-12 16:37:51 -05:00
Ayaz Hafiz
bd5f5ed735
Old implementations can be overwritten before solving
2022-10-12 16:37:51 -05:00
Ayaz Hafiz
7298705db7
Fix parse error
2022-10-12 16:37:50 -05:00
Ayaz Hafiz
729f0a8e27
Remove return
on unreachable result
2022-10-12 16:37:50 -05:00
Ayaz Hafiz
12778762b2
Make sure Box
is handled as an Apply
type
2022-10-12 16:37:50 -05:00
Ayaz Hafiz
0b02ef2803
Fix gen-tests except those that rely on Bool eq
2022-10-12 16:37:50 -05:00
Ayaz Hafiz
71c4731256
Remove test that is no longer correct
2022-10-12 16:37:50 -05:00
Ayaz Hafiz
bc2f4569aa
Able variables that are never used can become void
2022-10-12 16:37:50 -05:00
Ayaz Hafiz
f3a6b45452
Add must_use to all unification results
...
Making sure that no unspecialized lambda sets slip through the cracks!
2022-10-12 16:37:50 -05:00
Ayaz Hafiz
1c753ae031
Update solve tests
2022-10-12 16:37:49 -05:00
Ayaz Hafiz
c618ced743
Replace Bool.isEq
with Eq.isEq
2022-10-12 16:37:49 -05:00
Ayaz Hafiz
4adae7651f
Use Eq.structuralEq for deriving
2022-10-12 16:37:49 -05:00
Ayaz Hafiz
3674f6861e
Compile derived structural equality
2022-10-12 16:37:49 -05:00
Ayaz Hafiz
54e977be2d
Constrain function type on closure type, not signature
2022-10-12 16:37:49 -05:00
Ayaz Hafiz
8310230f78
Add gen test for custom Eq
2022-10-12 16:37:49 -05:00
Ayaz Hafiz
b587bcf0c2
Implement obligation checking for the Eq
ability
...
Every type can have `Eq.isEq` derived for it, as long as
- it does not transitively contain a function
- it does not transitively contain a floating point value
- it does not transitively contain an opaque type that does not support
`Eq`
2022-10-12 16:37:49 -05:00
Ayaz Hafiz
5931dd5fc2
Check in test derive for eq
2022-10-12 16:37:48 -05:00
Ayaz Hafiz
4c30e4c4bb
Add derive-key implementation for IsEq
2022-10-12 16:37:48 -05:00
Ayaz Hafiz
16d12a51c2
Add Eq
to the standard library
2022-10-12 16:37:48 -05:00
Ayaz
b2e7fd91ab
Merge pull request #4302 from roc-lang/serialize-ability-store
...
Serialize the abilities store and solved implementations for builtins
2022-10-12 16:37:16 -05:00
Prajwal S N
a3e6345257
builtin(list): add List.countIf
...
Closes #4174
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2022-10-13 00:45:13 +05:30
Ayaz Hafiz
53514141f6
Layer thunk assignment over def body instead of returning immediately
2022-10-12 10:36:57 -05:00
Ayaz Hafiz
a68c63f1d1
Correctly destructure patterns that are assigned to a thunk'd value
...
Closes #4309
2022-10-12 09:23:48 -05:00
Ayaz Hafiz
a9c79db5db
Allow complicated type
2022-10-11 10:49:24 -05:00
Ayaz Hafiz
76ce025faa
Turn on type caching for Encode, Decode, Hash
2022-10-11 10:48:25 -05:00
Ayaz Hafiz
7e79ff55f1
Serialize abilities store and solved implementations with subs
2022-10-11 10:31:21 -05:00
Brendan Hansknecht
e551e59c1c
refactor string reallocation
2022-10-11 07:56:34 -07:00
Ayaz Hafiz
46eb427393
Use roc_serialize in serializing abilities store, and add tests
2022-10-11 09:41:47 -05:00
Ayaz Hafiz
46aab8ad8c
Use roc_serialize for subs serialization
2022-10-11 09:19:25 -05:00