Ayaz Hafiz
8844cd256e
Make sure Num.minU128
/Num.maxU128
is properly exposed
2022-10-04 14:09:40 -05:00
Ayaz Hafiz
e9efc95425
Obligation checking for the Hash
ability
...
This implements type-level checks that types can and cannot implement
the `Hash` ability.
Part of #4195
2022-10-04 10:51:14 -05:00
Ayaz Hafiz
eadbc0912a
Update the compiler to be aware of Hash
2022-10-04 10:22:22 -05:00
Ayaz Hafiz
ec40c3aa0e
Derive Copy
2022-10-02 21:42:43 -05:00
Ayaz Hafiz
0cc9ea4b05
Detect and report module names that don't match what they are used as
...
Prior to this commit, if you had a module structure like
```
| - A.roc
| - Dep
| - B.roc
```
where `B.roc` was defined as
```
interface B exposes [] imports []
```
and `A.roc` was defined as
```
interface A exposes [] imports [Dep.B]
```
The compiler would hang on you. The reason is that even though we expect
`B` to be named `Dep.B` relative to `A`, that would not be enforced.
With this patch, we now enforce such naming schemes - a module must have
the namespaced name it is referenced by. Currently, we determine the
expected namespaced name by looking at how transitive dependencies of the
root module reference the module. In the future, once we have a package
ecosystem and a solid idea of "package roots", we can use the "package
root" to determine how a module should be named.
Closes #4094
2022-10-02 21:38:03 -05:00
Ayaz Hafiz
c521668d4c
Simplify how builtin types are added to a module
2022-09-30 13:40:33 -05:00
Ayaz Hafiz
2028dd5b0c
Add function to get exposed types of builtin module
2022-09-30 13:40:33 -05:00
Ayaz Hafiz
6832d4054f
Better name imported
symbols to apply
or hint
symbols
2022-09-30 13:40:33 -05:00
Ayaz
f4e77a9e38
Merge pull request #4090 from roc-lang/i4084
...
Properly import builtin modules in platforms
2022-09-21 14:01:01 -05:00
Ayaz Hafiz
c0fc2fdb29
Do not qualify builtin modules with package shorthand when loading
2022-09-21 09:46:40 -05:00
kilianv
6dbebd7834
Update Bool to be opaque
2022-09-20 14:42:01 -05:00
Folkert de Vries
3ee3f23836
Merge pull request #3971 from roc-lang/dependabot/cargo/bumpalo-3.11.0
...
Bump bumpalo from 3.10.0 to 3.11.0
2022-09-13 21:00:00 +02:00
Richard Feldman
c64874937f
Add entries for Str.replace___ functions to Symbol
2022-09-12 21:03:18 -06:00
dependabot[bot]
0079048944
Bump bumpalo from 3.10.0 to 3.11.0
...
Bumps [bumpalo](https://github.com/fitzgen/bumpalo ) from 3.10.0 to 3.11.0.
- [Release notes](https://github.com/fitzgen/bumpalo/releases )
- [Changelog](https://github.com/fitzgen/bumpalo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/fitzgen/bumpalo/compare/3.10.0...3.11.0 )
---
updated-dependencies:
- dependency-name: bumpalo
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 21:08:56 +00:00
ayazhafiz
3456a44742
Only compile and run expects that belong to the same package
...
In particular, don't run expects that come from modules with a different
package qualification (including subpackages; we can loosen this
restriction later), or builtins when run on userspace apps/interfaces.
Closes #3722
2022-08-28 10:16:55 -05:00
Folkert de Vries
51d5aa789a
Merge pull request #3870 from roc-lang/dev-backend-div
...
add int/float division to the dev backend
2022-08-25 09:03:19 +02:00
Folkert
2d366acc6e
split out int and frac division into separate lowlevels
2022-08-23 11:07:38 +02:00
Richard Feldman
0bff2c6674
Support converting Lowercase to Box<str>
2022-08-15 11:11:31 -05:00
Richard Feldman
6af6006cdd
Give TagName a From<&str>
2022-08-15 11:11:30 -05:00
Ayaz Hafiz
29793fac32
Begin working on JSON record decoding
...
And we've hit a borrow panic 😍
2022-08-15 11:11:29 -05:00
Ross Smyth
80f14f61df
Add safe layout reprs and safety comments about layout
2022-08-13 03:49:12 -04:00
Richard Feldman
97e2900bf5
s/rtfeldman/roc-lang/g in links to GitHub repos
2022-08-12 15:24:09 -04:00
Richard Feldman
26ee1a01bc
Merge pull request #3691 from rtfeldman/cargo_verson_change
...
changed Cargo versions from 0.1.0 to 0.0.1
2022-08-05 09:13:04 -04:00
Anton-4
6a15a7b41b
changed Cargo versions from 0.1.0 to 0.0.1
2022-08-03 11:41:19 +02:00
Ayaz Hafiz
4bbc6b74fc
Add derivability obligation checking for Decode
2022-08-02 14:31:16 -05:00
Ayaz
fa14146054
Merge pull request #3531 from rtfeldman/decode
...
Very basic Decode.roc in the standard library
2022-08-02 14:26:28 -05:00
Ayaz Hafiz
fc71e3df04
Add Decode to the load graph
2022-08-01 08:09:22 -05:00
Ayaz Hafiz
1f4099449d
Add Decoder module symbol
2022-08-01 08:09:22 -05:00
Folkert
01ec0d7bda
formatting
2022-07-28 22:27:30 +02:00
Folkert
2514e7d845
implement non-recursive tags
2022-07-28 22:02:21 +02:00
Ayaz
6b6f240acb
Merge pull request #3589 from rtfeldman/can-abilities3
...
Canonicalize syntactic abilities: Part 3 - solving
2022-07-25 21:48:14 -05:00
Richard Feldman
97720c4090
Drop unexposed List symbol
...
List.iterate doesn't need a manual Symbol entry because
it's not exposed.
2022-07-25 19:15:37 +02:00
Richard Feldman
baa9176363
Update List builtin symbols
2022-07-25 19:15:34 +02:00
Richard Feldman
f3b8025d8d
Rename List.find and findIndex to include 'First'
2022-07-25 19:15:32 +02:00
Ayaz Hafiz
6035e45f25
Store derivable ability members statically
2022-07-25 09:09:00 -04:00
Ayaz
d5f36a6780
Merge pull request #3568 from rtfeldman/list-maptry
2022-07-18 15:22:38 -05:00
Richard Feldman
08ead32be9
Add List.mapTry
2022-07-17 21:53:01 -04:00
Richard Feldman
8036533749
Update symbols
2022-07-17 21:37:32 -04:00
Folkert de Vries
1b1b63aad0
Merge branch 'trunk' into assoc-list-dict
2022-07-14 16:47:50 +02:00
Ayaz
a9243720da
Merge pull request #3496 from rtfeldman/derive-w-mono
...
Monomorphize and compile derived implementations
2022-07-14 07:45:21 -05:00
Ayaz Hafiz
9b7950f765
Wrap opaque types in the repl with the appropriate opaque wrapper
...
Closes #3504
2022-07-13 17:46:04 -04:00
Folkert
5763248b44
Merge remote-tracking branch 'origin/trunk' into assoc-list-dict
2022-07-13 20:44:28 +02:00
Richard Feldman
25facfa9c6
Expose capacity builtins
2022-07-13 12:19:37 -04:00
Ayaz Hafiz
df9bcb1a0c
Use Derived_synth for synthesizing implementations, and Derived_gen for codegen
2022-07-13 08:47:39 -04:00
Folkert
cf69d41a7b
implement set operations on dict
2022-07-13 11:33:39 +02:00
Folkert
8e21fdcb04
remove dict/set lowlevels
2022-07-13 11:24:07 +02:00
Folkert
79f8ae4e69
make Set/Dict mostly work
2022-07-13 11:15:57 +02:00
Folkert
f9d8e01561
implement Dict/Set completely in roc
2022-07-13 00:35:20 +02:00
ayazhafiz
d20c183390
Merge remote-tracking branch 'origin/trunk' into rust61
2022-07-09 12:52:49 -04:00
Marten/Qqwy
699ab5c646
Symbol definition and tests
2022-07-09 14:28:30 +02:00