Commit graph

612 commits

Author SHA1 Message Date
Ayaz Hafiz
1d885c4ab2
Support deriving Decode for opaques 2022-10-23 20:48:06 -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
ee8e718cc1
Support monomorphic captures of polymorphic expressions in closures
Closes #4349
2022-10-23 20:44:03 -05:00
Folkert de Vries
bcf2fc340d
Merge pull request #4350 from roc-lang/i4348
Use runtime representation of values when building structural eq
2022-10-23 01:19:17 +02:00
Folkert
ebac056814
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects 2022-10-21 23:05:34 +02:00
Ayaz Hafiz
f826ff1a71
Remove addI* variants from Hash
These are trivially fulfilled by converting a signed int to its unsigned
repr and hashing that.
2022-10-19 14:24:21 -05:00
Ayaz Hafiz
7986514d20
Use runtime representation of values when building structural eq
Closes #4348
2022-10-17 11:36:57 -05:00
Prajwal S N
07224e9086
builtin(list): add List.walkFrom, List.walkFromUntil
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2022-10-17 20:51:03 +05:30
Folkert
323210c547
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects 2022-10-16 13:56:30 +02: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
6e5de0d0a9
Disable test on gen-dev, for now 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
43086a7e25
Enable remaining gen tests 2022-10-12 16:38:35 -05:00
Ayaz Hafiz
a256947a9f
Move Eq to Bool 2022-10-12 16:37:51 -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
3674f6861e
Compile derived structural equality 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
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
a68c63f1d1
Correctly destructure patterns that are assigned to a thunk'd value
Closes #4309
2022-10-12 09:23:48 -05:00
Brendan Hansknecht
ac33fd3237
fix wasm test 2022-10-10 23:18:06 -07:00
Ayaz
83b64c4fb3
Merge pull request #4209 from roc-lang/impl-tag-discriminant
Derive `Hash` implementations for tag unions
2022-10-10 22:23:05 -05:00
dependabot[bot]
1a9323ecdc
Bump libc from 0.2.133 to 0.2.135
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.133 to 0.2.135.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.133...0.2.135)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 13:00:20 +00:00
Folkert
d27eff1b36
fix test compilation 2022-10-09 19:00:34 +02:00
Prajwal S N
aef15ac1e8
Merge branch 'main' into str-withprefix 2022-10-09 15:53:16 +05:30
Richard Feldman
8b3d73dfbc
Merge pull request #4249 from snprajwal/list-walkBckwardsUntil
builtin(list): implement List.walkBackwardsUntil
2022-10-08 23:47:29 -07:00
Ayaz
51c687df54
Merge branch 'main' into i4150
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
2022-10-08 16:08:35 -05:00
Ayaz
9d05bcd9d8
Merge pull request #4237 from snprajwal/str-withcapacity
builtin(str): implement Str.withCapacity
2022-10-08 14:31:30 -05:00
Anton-4
54fb1bc32f
Merge remote-tracking branch 'upstream/main' into str-withprefix 2022-10-08 19:58:51 +02:00
Prajwal S N
cbceeff902
builtin(list): implement List.walkBackwardsUntil
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2022-10-08 14:23:06 +05:30
Prajwal S N
d6526fa425
builtin(str): add withPrefix
Closes #4142

Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2022-10-08 12:52:10 +05:30
Ayaz
fae90c9fd2
Merge pull request #4187 from roc-lang/ranged-char-literal
Single-quote literals behave like ranged numbers
2022-10-07 15:05:09 -05:00
Prajwal S N
9013e4ce11
builtin(str): implement withCapacity
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2022-10-08 00:24:46 +05:30
Ayaz
0b57b00235
Merge pull request #4205 from roc-lang/more-hash-derivers
Support deriving `Hash` for inductive records
2022-10-05 17:30:02 -05:00
Ayaz Hafiz
7064d1c060
Gen test for char pattern matching 2022-10-05 17:28:01 -05:00
Ayaz Hafiz
33d007a17b
Exercise both dispatch branches in test 2022-10-05 17:25:12 -05:00
Ayaz Hafiz
ed9f37a756
Add gen test for tag function dispatch 2022-10-05 17:25:12 -05:00
Ayaz
4f1d7fca9a
Merge pull request #4218 from roc-lang/rollup-10-05
Misc bugfixes 10-05
2022-10-05 14:52:11 -05:00
Ayaz
596f14d173
Merge pull request #4203 from roc-lang/shift-signature
Have `Num.shift*By` functions shift by a `U8`
2022-10-05 13:26:36 -05:00
Ayaz Hafiz
f849bab6f1
Ignore large bit abs on wasm 2022-10-05 13:06:44 -05:00
Ayaz Hafiz
cb96a64259
Implement hashing tag discriminants in derivers, rather than using low-level
This makes it so we can decide the discriminant in the front-end. With
this, we can also now revert the `LowLevel::TagDiscriminant`
introductions.
2022-10-05 12:58:04 -05:00
Ayaz Hafiz
a308ebb38c
Optimize derived hash implementation for newtypes
When we have a newtype tag union, there is no reason to hash its
discriminant.
2022-10-05 12:19:35 -05:00
Ayaz Hafiz
2517695ce4
Fix deriving of hash ability for recursive tag unions 2022-10-05 12:01:02 -05:00
Ayaz Hafiz
657346a057
Support Num.abs for non-64 bit integer types
Closes #4210
2022-10-05 08:39:45 -05:00
Ayaz
02b02901bc
Update crates/compiler/test_gen/src/gen_abilities.rs
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
2022-10-04 18:58:30 -05:00
Ayaz Hafiz
725054b8f3
Add TODO recursive tag union hashing test 2022-10-04 18:17:35 -05:00
Ayaz Hafiz
5389cdd87f
Add gen test for newtype, byte union, unit tag union hash deriving 2022-10-04 18:11:41 -05:00