Jan Van Bruggen
6229eb54ca
Add blank lines around fenced code blocks
...
See https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md031
2022-09-07 23:18:03 -06:00
Ayaz Hafiz
fc6561ecb6
Format string literals in patterns
2022-09-07 17:30:52 -05:00
Folkert de Vries
828e3b05c5
Merge pull request #3985 from roc-lang/pass-string-byval-host
...
allow passing of RocStr by-value from a host
2022-09-07 16:23:47 +02:00
Folkert de Vries
8bbeb34792
Merge pull request #3981 from roc-lang/use-copy-table
...
Cache variables sent to a module's external specializations in mono
2022-09-07 12:28:17 +02:00
Folkert de Vries
83d45fa859
Merge pull request #3982 from roc-lang/i3955
...
Lose rigidity of annotated optional fields before generalization
2022-09-07 12:20:53 +02:00
Folkert
2762457e10
allow passing of RocStr by-value from a host
2022-09-07 12:14:13 +02:00
Ayaz Hafiz
eebe5234f6
Correctly perform record updates that come from thunks
...
Closes #3908
2022-09-06 18:07:22 -05:00
Ayaz Hafiz
c2452ff751
Lose rigidity of annotated optional fields before generalization
...
We have this idea of "rigid optional" fields to annotate record fields
that must necessarily be optional. That avoids the admission of programs
we cannot faithfully compile, like
```
f : {a: Str, b ? U64}
f = {a: "b", b: 1}
```
We want to lose the rigidity restriction when a generalized symbol is
used as at a specialized site; for example it should be possible to call
`f : {x ? Str} -> {}` with both `{}` and `{x : Str}`, neither of which
have a rigidly optional field unless they were to be annotated.
Prior to this commit we would loosen the rigidity restriction upon
specialization of a generalized type at a use site. However, what we
really want to do is apply the loosening during calculation of
generalization. The reason is that otherwise, we must make types that
would be ground (like `{x ? Str} -> {}`) generalized just for the sake
of the optional field annotation. But since the rigidity constraint is
irrelevant after an annotated body has been checked, we can loosen the
rigidity restriction then, which conveniently happens to coincide with
the generalization calculation.
Closes #3955
2022-09-06 17:44:04 -05:00
Ayaz Hafiz
58dd58aa5d
Clippy
2022-09-06 15:53:04 -05:00
Ayaz Hafiz
4ed579d7a6
Use default instead of new
2022-09-06 15:48:59 -05:00
Ayaz Hafiz
a3f3771326
Add the storage module
2022-09-06 14:36:36 -05:00
Ayaz Hafiz
53e1551cd1
Move external specializations storage subs into its own struct
2022-09-06 14:33:41 -05:00
Ayaz Hafiz
882d589d5f
Basic caching of variables saved into storage subs
2022-09-06 14:11:03 -05:00
Ayaz Hafiz
265c1c058f
Loosen bound on VecMap from-iterator
2022-09-06 14:06:41 -05:00
Folkert
d78be3f863
remove either dependency
2022-09-06 18:52:43 +02:00
dependabot[bot]
ee81b73ea5
Bump either from 1.7.0 to 1.8.0
...
Bumps [either](https://github.com/bluss/either ) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/bluss/either/releases )
- [Commits](https://github.com/bluss/either/compare/1.7.0...1.8.0 )
---
updated-dependencies:
- dependency-name: either
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-06 16:50:25 +00:00
Folkert de Vries
6dc86513a1
Merge pull request #3973 from roc-lang/dependabot/cargo/libc-0.2.132
...
Bump libc from 0.2.126 to 0.2.132
2022-09-06 18:48:36 +02:00
Folkert de Vries
b8f6d84dc3
Merge pull request #3928 from roc-lang/windows-surgical-dll
...
windows surgical dll
2022-09-06 13:19:23 +02:00
dependabot[bot]
095505ee15
Bump libc from 0.2.126 to 0.2.132
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.126 to 0.2.132.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.126...0.2.132 )
---
updated-dependencies:
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-06 07:27:05 +00:00
Anton-4
3f3de74250
Merge pull request #3970 from roc-lang/dependabot/cargo/serde_json-1.0.85
...
Bump serde_json from 1.0.82 to 1.0.85
2022-09-06 09:26:35 +02:00
Richard Feldman
eac04dfbc7
Merge pull request #3957 from roc-lang/dev-backend-bitwise-logical
...
dev backend: bitwise logical operators
2022-09-05 20:28:56 -07:00
dependabot[bot]
646c0d3ffa
Bump serde_json from 1.0.82 to 1.0.85
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.82 to 1.0.85.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.82...v1.0.85 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 14:02:45 +00:00
Folkert de Vries
92847fd7c6
Merge pull request #3965 from roc-lang/windows-dec-add
...
windows RocDec & Zig
2022-09-05 13:06:24 +02:00
Folkert de Vries
33ae4c2655
Merge branch 'main' into windows-surgical-dll
...
Signed-off-by: Folkert de Vries <folkert@folkertdev.nl>
2022-09-05 11:31:19 +02:00
Folkert
df7db18008
make test slighly different so it has a distinct hash
2022-09-04 19:49:11 +02:00
Folkert de Vries
95b00048bf
Merge pull request #3964 from roc-lang/list-map-load-opaque
...
list map load opaque
2022-09-04 19:12:13 +02:00
Folkert
cc1a5af70d
cleanup
2022-09-04 19:04:48 +02:00
Folkert
76f82a6175
remove debugging code
2022-09-04 19:02:13 +02:00
Folkert
828ded8ebc
fix get scalar unsafe for windows
2022-09-04 18:57:56 +02:00
Folkert
a52a148424
fix llvm issues in all windows num tests
2022-09-04 18:42:59 +02:00
Folkert
6404f308f9
add windows llvm check mode (hacky)
2022-09-04 18:30:48 +02:00
Folkert
08b25cb935
fix dec calling convention for windows
2022-09-04 18:26:04 +02:00
Brian Carroll
517223e12a
Merge pull request #3962 from roc-lang/capacity-realloc
...
Use capacity better for realloc
2022-09-04 17:00:37 +01:00
Folkert
5a078eee4f
fix bug in loading of an opaque pointer
2022-09-04 17:22:43 +02:00
Brian Carroll
173343eea2
builtins: relax condition for reusing an allocation
2022-09-04 14:37:42 +01:00
Brian Carroll
b1b28650e9
builtins: Avoid reallocating Lists when they have enough capacity
2022-09-04 14:37:42 +01:00
Brian Carroll
0423e5650f
builtins: remove some redundant small string checks in strToBytes
2022-09-04 14:37:42 +01:00
Brian Carroll
32b815847e
builtins: Remove old incorrect comment about isSmallStr and add a test to make sure
2022-09-04 14:37:42 +01:00
Folkert
56463faa80
compact some pattern matches
2022-09-03 16:04:42 +02:00
Folkert
c5edd98bef
compact code
2022-09-03 16:01:44 +02:00
Folkert
b7cb7bb786
bitwise logical operators in the dev backend
2022-09-03 15:48:57 +02:00
Folkert
d99fdb3831
change the cutoff for when a pointer is used on windows
2022-09-03 12:42:13 +02:00
Folkert
8175e3a9e2
Merge remote-tracking branch 'origin/main' into windows-c-calling-convention
2022-09-03 12:14:17 +02:00
Folkert de Vries
93ace1d6f3
Merge pull request #3945 from roc-lang/i3942
...
Adds lambda set layout interning
2022-09-02 21:08:30 +02:00
Folkert de Vries
8cd308aa04
Merge pull request #3946 from roc-lang/faster-occurs-check
...
Attempt occurs checks for recursive lambda sets only during monomorphization
2022-09-02 20:51:51 +02:00
Folkert
016efc67c6
don't drop explicitly?
2022-09-02 19:15:03 +02:00
Folkert
4dbdd8ac87
extend the lifetime of a dll until after an assert
2022-09-01 20:54:06 +02:00
Folkert
f0f720a86a
pass by pointer more on windows
2022-09-01 20:12:55 +02:00
kilianv
273907319d
Add tests for Str.splitLast
...
There was only one test, which didn't cover the bug I fixed in Str.splitLast. I
added the tests to make sure the bug will be caught in the future.
2022-09-01 17:03:26 +02:00
kilianv
97f49bf940
Add expect tests for Str.splitLast
2022-09-01 16:59:11 +02:00