Sam Mohr
30b8a1407d
Fix broken ability implementation
2025-01-04 05:37:17 -08:00
Luke Boswell
3c394028d1
replace cargo deps with workspace in derive_key, exhaustive, fmt, gen_dev, gen_llvm
2024-11-29 11:17:42 +11:00
Agus Zubiaga
cfc4be5254
Treat untyped suffixed functions as effectful
2024-11-07 18:54:21 -03:00
Agus Zubiaga
5a5abe3bc5
Unify call's fx var with that of the enclosing function
2024-11-07 18:54:12 -03:00
JRI98
edd0bb553d
Remove unused EmptyTuple variant from FlatType enum
2024-10-22 16:29:53 +01:00
Brendan Hansknecht
482c084096
Change docs/errors from "optional" to "default value" record fields
...
I strongly believe that seeing the word "optional" is priming people wrong when it comes to this feature.
Especially given roc dose not have an `Optional/Option/Maybe` type, so users look for an alternative and find this.
This PR changes the name to "default value record fields".
It updates all docs and errors.
It does not update compiler internal naming.
That can be updated in a follow up PR if we want to, but I am also fine leaving it cause it is not exposed to users.
2024-04-03 08:55:35 -07:00
Richard Feldman
c4497f2c1c
Remove Nat from Num
2024-01-26 16:19:51 -05:00
Richard Feldman
502b0fddf2
Remove Nat from Hash, Inspect, Encode, Decode
2024-01-26 16:17:05 -05:00
Brendan Hansknecht
c49046291a
misc cleanup suggestions
2023-11-28 16:40:43 -08:00
Brendan Hansknecht
1b7fdc9522
deal with Frac * -> Dec
2023-11-28 16:40:43 -08:00
Brendan Hansknecht
6eedd08e5a
add Debug to FlatInspectable
2023-11-28 16:40:41 -08:00
Brendan Hansknecht
796c2b1ded
unwrap builtin opaques like NUM_NUM
2023-11-28 16:40:41 -08:00
Richard Feldman
768b55b8c5
Add some Inspect.inspect tests, fix a bug
2023-11-28 16:40:40 -08:00
Ayaz Hafiz
5c805ce80f
Get first inspect for non-Inspect-implementing opaques specialized
2023-11-28 16:40:39 -08:00
Richard Feldman
34148645ae
wip
2023-11-28 16:40:39 -08:00
Richard Feldman
d0841fb018
Add derive key for Inspect
2023-11-28 16:40:39 -08:00
Ayaz Hafiz
6e5a308557
Content variant ErasedLambda
2023-07-12 13:57:17 -05:00
Ayaz Hafiz
3585d5bb5b
Implement hash for Dec
2023-05-26 11:38:30 -05:00
Ayaz Hafiz
f458da0cbc
Implement Hash for Bool
2023-03-28 15:04:45 -05:00
Ayaz
8c55e8126d
Merge pull request #5203 from roc-lang/virtual-dom-annotations
...
Fix a few bugs Virtual-DOM cropped up
2023-03-25 20:00:51 -05:00
Ayaz
61dd5cc8c7
Merge pull request #5179 from roc-lang/i5143-tuple-abilities
...
Implement ability obligation checking and derivation for tuples
2023-03-25 15:51:39 -05:00
Ayaz Hafiz
99d31aa74c
Derive key for decoding should pass under recursion
2023-03-25 15:01:41 -05:00
Ayaz Hafiz
71c76c598a
Derive key for encoding should pass through recursion
2023-03-25 15:01:41 -05:00
Ayaz Hafiz
3e83e42195
Make sure to report error rather than descending as appropriate
2023-03-22 17:08:43 -05:00
Ayaz Hafiz
e6094df69b
Fast-path for determining ability member impls for builtin opaques
2023-03-22 17:08:41 -05:00
Ayaz Hafiz
297a571b34
Eq for Bool
2023-03-22 17:03:58 -05:00
Ayaz Hafiz
5be8ff700d
Derive encode for bool
2023-03-22 17:03:58 -05:00
Ayaz Hafiz
f079e8c96b
Bool derive key for Decode
2023-03-22 17:03:57 -05:00
Ayaz Hafiz
5e0a6e5926
Derive key for Decoding tuples
2023-03-22 12:23:16 -05:00
Ayaz Hafiz
e5fcb05a2d
Implement derivation keys for tuple encoders
2023-03-22 11:19:47 -05:00
Ayaz Hafiz
e6cac71ca5
Add support for hash key of tuples
2023-03-22 10:09:57 -05:00
Ayaz Hafiz
240c1f35d6
Ranged number abilities are derived and compiled correctly
...
Closes #5089
2023-03-22 09:42:06 -05:00
Brendan Hansknecht
75e996c445
remove unused dependencies and ignore false positives
2023-03-06 20:09:01 -08:00
Brendan Hansknecht
f42f61e271
run a toml formatter and then clean it up a bit
2023-03-06 19:47:57 -08:00
Brendan Hansknecht
4a89bee0a5
centralize package versions except for vendor and excluded
2023-03-06 19:29:09 -08:00
Brendan Hansknecht
5485c8a5b0
update to using workspace package spec
2023-03-06 16:36:18 -08:00
Ayaz Hafiz
572a666780
No Encode/Decode for Nat
2023-01-27 17:16:10 -06:00
Joshua Warner
de828416bf
Initial implementation of tuples in type checking
...
This leaves in place a bunch of TODOs and likely many bugs - notably, I haven't tested codegen/layout at all here.
2023-01-22 12:40:44 -08:00
Ayaz Hafiz
1c93727822
Add a notion of "openness" tag extensions suitable only for size-polymorphism
2023-01-16 10:52:23 -06:00
Brendan Hansknecht
6aec9cf058
add the ability to hash Nats
2022-12-05 16:00:56 -08:00
Ayaz Hafiz
9c8a4ec027
Choose hash implementation for ranged number based on default width
...
Closes #4416
2022-11-16 13:57:03 -06:00
Ayaz Hafiz
3305041316
Add Debug derives in lambda set compaction
2022-11-16 13:55:15 -06:00
Ayaz Hafiz
281bc94b55
Remove FlatType::Erroneous
2022-11-08 14:11:25 -06:00
Folkert
66a1ba00eb
1.65 clippy fixes
2022-11-03 16:20:37 +01: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
6149c289fc
Update Eq symbols
2022-10-12 16:38:36 -05:00
Ayaz Hafiz
4adae7651f
Use Eq.structuralEq for deriving
2022-10-12 16:37:49 -05:00
Ayaz Hafiz
4c30e4c4bb
Add derive-key implementation for IsEq
2022-10-12 16:37:48 -05:00
Ayaz Hafiz
80e0690a70
Resolve merge conflict regarding tag name slices
2022-10-11 00:00:41 -05: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