Folkert
4d1a6b17a8
dev backend: box a str
2023-02-10 20:19:50 +01:00
Folkert
587c5c18d7
mono refcount: use box instaed of non-nullable unwrapped
2023-02-10 20:19:49 +01:00
Folkert
8421824e31
WIP
2023-02-10 20:19:49 +01:00
Folkert
f32d31341a
add basic functionality of Str.split
2023-02-10 20:19:49 +01:00
Folkert de Vries
301bf0f367
Merge pull request #5009 from roc-lang/dev-box-box
...
implement Box.box and Box.unbox in the dev backend
2023-02-09 18:04:53 +01:00
Folkert
625b9c161a
implement wasm traits for roc_std::RocBox
2023-02-09 14:55:08 +01:00
Brendan Hansknecht
e654b8655f
Merge pull request #5003 from roc-lang/dev-allocate-with-refcount
...
use `allocate_with_refcount` in the dev backend
2023-02-08 20:08:47 +00:00
Luca Cervello
a4410fe052
fix: add spaces around ? in optional record field
2023-02-08 18:41:22 +01:00
Ayaz Hafiz
a22dcb5784
Unify record and tuple access
2023-02-08 11:13:36 -05:00
Ayaz Hafiz
1ee5f9d02b
Unify logic for building record and tuple IR
2023-02-08 11:03:02 -05:00
Ayaz
9340a67e87
Merge pull request #4993 from joshuawarner32/tuple-gen-tuple-backend-experiment
...
Implement mono / code generation for tuples
2023-02-08 10:42:51 -05:00
Folkert
b022175489
implement Box.box and Box.unbox in the dev backend
2023-02-08 13:51:30 +01:00
Joshua Warner
3fee0d3e8f
Fix a bunch of bugs in parsing/formatting found by fuzzing
2023-02-07 20:25:56 -08:00
Joshua Warner
5a6be05ead
implement mono / lowering for tuples
2023-02-07 18:54:50 -08:00
Folkert
c79ae98d16
use allocate_with_refcount in the dev backend
2023-02-08 00:56:45 +01:00
Folkert de Vries
613ef2aa95
Merge pull request #4989 from doubledup/fix-str-docs-unicode-escapes
...
Fix unicode escape sequences in Str docs
2023-02-05 16:23:09 +01:00
Ahmad Sattar
e8f40cdbb1
Add bools to array building
2023-02-04 01:06:34 +01:00
Ahmad Sattar
6a92aed8a2
Fix subtle call issue
2023-02-04 00:56:45 +01:00
Anton-4
a863c83824
Merge pull request #4995 from dankeyy/nixos_dyn_error
...
Error for dynamically linked platforms on NixOS
2023-02-03 13:12:32 +01:00
Anton-4
1e32009734
fmt+clippy
2023-02-03 11:49:07 +01:00
dankeyy
1dbd3289ff
using ldd, not readelf
2023-02-02 13:47:22 +02:00
Ayaz Hafiz
009607c55a
Handle FunctionOrTagUnion types in exhaustiveness checking
...
We should treat FunctionOrTagUnion types as tag unions for the purposes
of exhautiveness checking.
Closes #4994
2023-02-01 22:03:10 -06:00
dankeyy
65bc1a7c80
Merge branch 'roc-lang:main' into nixos_dyn_error
2023-02-01 23:48:47 +02:00
dankeyy
a7d33962f8
cleanup
2023-02-01 23:46:35 +02:00
Richard Feldman
cb5cff37dc
Merge pull request #4990 from roc-lang/fix_different_target
...
Support subfolders in target folder
2023-02-01 15:16:42 -05:00
dankeyy
4cf3da3aa7
alert users of dynamically linked platforms on nixos
2023-02-01 21:49:55 +02:00
Anton-4
4d237d79a7
also search dirs one level below
2023-01-31 19:37:30 +01:00
David Dunn
550b22c633
Fix unicode escape sequences in Str docs
...
Unicode characters are escaped like \u(00) instead of \{0x00}. Tested
that this is the same for the repl and the hello world example
`Stdout.line "Hello,\u(0A)World!"`.
Found the correct syntax here:
https://roc.zulipchat.com/#narrow/stream/231634-beginners/topic/terminal.20unicode.20.2F.20colors/near/304768569
2023-01-31 21:39:57 +04:00
Anton-4
b47e086f50
support more complex target folder situation
2023-01-31 17:32:55 +01:00
Joshua Warner
31a4eb2bfd
Fix parsing of tuple accessors after an identifier - e.g. myIdent.2
2023-01-30 21:12:01 -08:00
Ayaz
53b1525139
Merge pull request #4987 from roc-lang/virtual-dom-investigate
...
Fix a bug in layout cache and some more debugging tools
2023-01-30 19:58:52 -06:00
Ayaz Hafiz
0af5929411
Add comments for debug reprs
2023-01-30 17:22:16 -06:00
Ayaz Hafiz
4a59e24081
Address lints
2023-01-30 16:48:46 -06:00
Ayaz Hafiz
8c68044c54
Prime the cache with a default layer
2023-01-30 16:48:01 -06:00
Ayaz Hafiz
c3064dad73
Add method to get index of interned layout
2023-01-30 15:53:37 -06:00
Ayaz Hafiz
c1a937e393
Add method to debug whole nested structure of interned layout
2023-01-30 15:53:13 -06:00
Richard Feldman
cf119f09a4
Merge pull request #4985 from RossSmyth/main
...
Atomic ordering for debug counter is stricter than nesscessary.
2023-01-30 16:28:58 -05:00
Ayaz Hafiz
a16ea95a04
Always start off with an empty cache
...
Adding a cache layer can only be done with a snapshot and rollback.
This is necessary to prevent extra variables just lying around on the
toplevel of the layout cache.
2023-01-30 13:08:21 -06:00
Ayaz Hafiz
1e22a2bbcd
Layout-cache variable invalidation must compare by root keys
...
After unification, variable roots can change. So, when we invalidate
entries in the layout cache, we must compare for variable equivalence
relative to the current state of subs.
2023-01-30 13:06:44 -06:00
Ross Smyth
4698608c4d
Atomic ordering for debug counter is stricter than nesscessary.
2023-01-30 11:10:18 -05:00
Anton-4
951f01eee0
better name, extra test
2023-01-30 15:54:16 +01:00
Folkert de Vries
8afdc820a6
Merge pull request #4982 from thehabbos007/list-prepend
...
gen_dev: add `List.prepend`
2023-01-29 18:08:57 +01:00
Ahmad Sattar
74c64bf431
Method to load layout alignment into a symbol
2023-01-29 13:36:36 +01:00
Ahmad Sattar
a44016a56b
Consistent naming for "elem_layout"
2023-01-29 13:14:19 +01:00
Ahmad Sattar
40c742d74d
Method to load layout stack size into a symbol
2023-01-29 13:07:02 +01:00
Ahmad Sattar
d9daebb566
Remove unneeded bumpalo::vec!
used for layouts
2023-01-29 10:53:14 +01:00
Ayaz
36edda488a
Merge pull request #4979 from roc-lang/update-inkwell-prepare-llvm15
...
Update inkwell prepare llvm15
2023-01-28 17:42:28 -06:00
Ayaz
9a5a77ee3a
Merge pull request #4974 from roc-lang/no-encode-decode-nat
...
Display Encode/Decode of `Nat`s
2023-01-28 16:54:51 -06:00
Ahmad Sattar
7fc24d5720
Add List.prepend
implementation for generic64
2023-01-28 22:46:35 +01:00
Folkert
0072192897
prepare for llvm 15
2023-01-28 14:51:47 +01:00
Folkert
ee87eafdca
remove once_cell dependency
2023-01-28 14:26:24 +01:00
Folkert de Vries
6fc57f0a0c
Merge pull request #4976 from thehabbos007/list-concat
...
gen_dev: add `List.concat` and fix element width bug
2023-01-28 13:56:36 +01:00
Ahmad Sattar
f6b8a27955
Add List.concat
implementation for generic64
2023-01-28 02:16:05 +01:00
Ahmad Sattar
a1e2c3f64b
Use list element width for List.withCapacity
2023-01-28 02:02:32 +01:00
Ahmad Sattar
f80edb6ed6
Put list_element_layout!
macro into mono
2023-01-28 02:01:02 +01:00
Ahmad Sattar
2f620f048e
Address clippy lint for gen-dev
2023-01-28 01:53:55 +01:00
Richard Feldman
b5caddcb77
Merge pull request #4973 from roc-lang/fix-string-split
...
fix string split on overlapping delimiters
2023-01-27 19:34:07 -05:00
Folkert de Vries
c4cbbea4cb
Merge pull request #3958 from roc-lang/dev-backend-bitwise-shifts
...
Dev backend bitwise shifts
2023-01-28 00:46:09 +01:00
Ayaz Hafiz
63e30443fd
Fix formatting
2023-01-27 17:35:31 -06:00
Ayaz Hafiz
9d62fa96ef
Fix spacing
2023-01-27 17:18:36 -06:00
Ayaz Hafiz
572a666780
No Encode/Decode for Nat
2023-01-27 17:16:10 -06:00
Folkert
d52c037cba
fix string split on overlapping delimiters
2023-01-27 17:35:10 +01:00
Ayaz
99050956d3
Merge pull request #4971 from roc-lang/str-trim-null-byte
...
fix bug in Str.trim
2023-01-27 09:29:01 -06:00
Folkert
bfe959af52
clippy
2023-01-27 11:54:16 +01:00
Folkert
c0a7b283f9
make sure RCX register does not alias an argument
2023-01-27 11:26:08 +01:00
Folkert
7cc5aa243b
fix some comments
2023-01-27 11:24:47 +01:00
Folkert
a35dee959f
clarify naming
2023-01-27 11:23:52 +01:00
Folkert
843f5b15e5
bitshifts for the dev backend
2023-01-27 11:23:51 +01:00
Christoph Rüßler
1b023f828f
dev backend: implement subWrap for all integer types
2023-01-27 10:27:50 +01:00
Folkert de Vries
081c61ead6
Merge pull request #4962 from thehabbos007/list-reserve-append
...
gen_dev: add `List.reserve` and `List.append` using zig builtins
2023-01-26 23:43:27 +01:00
Folkert
a77f137a9d
fix bug in Str.trim
2023-01-26 22:52:14 +01:00
Ayaz
a6cbc84729
Merge pull request #4970 from roc-lang/list-concat-use-later
...
fix memory leak in List.concat
2023-01-26 15:32:45 -06:00
Ayaz
0672879fff
Merge pull request #4965 from roc-lang/recursive-layouts-rec-by-default
...
Support equivalence for finding lambda sets
2023-01-26 15:20:59 -06:00
Ahmad Sattar
918d9d2308
Fix clippy lints
2023-01-26 20:32:47 +01:00
Folkert
0af11c210e
fix memory leak in List.concat
2023-01-26 20:31:33 +01:00
Brian Carroll
e0b5247f3e
mono code_gen_help: decref should use element alignment, not List alignment
2023-01-26 20:05:16 +01:00
Brian Carroll
c2faaef092
test_gen: enable Dict tests for gen_wasm
2023-01-26 20:05:16 +01:00
Brian Carroll
7228502965
mono: delete is_rc_implemented_yet, because everything is implemented!
2023-01-26 20:05:16 +01:00
Folkert de Vries
212dfdf842
Merge pull request #4963 from roc-lang/recursive-ptr-propogate
...
Get rid of WhenRecursive
2023-01-26 20:03:43 +01:00
Ahmad Sattar
e71ea37d30
Use immutable List.reserve
variant
2023-01-26 13:10:26 +01:00
Ahmad Sattar
e70b491816
gen_dev: more tests for append
2023-01-26 10:22:53 +01:00
Joshua Warner
a1cd114198
Add a Malformed trait, and assert that 'passing' tests don't produce a malformed result
2023-01-25 21:01:05 -08:00
Ayaz Hafiz
6193f0be85
Turn test back on
2023-01-25 18:06:11 -06:00
Ayaz Hafiz
a294cae9cd
Don't store recursive unions by recursive pointer head-on
2023-01-25 18:05:43 -06:00
Ayaz Hafiz
36beda63ba
Lints
2023-01-25 18:00:32 -06:00
Ayaz Hafiz
478d4a2d44
Support lambda sets with recursive pointers and their equivalence-checking
2023-01-25 17:57:49 -06:00
Ayaz Hafiz
fa47e82d72
Implement equivalence of lambda sets
2023-01-25 17:20:42 -06:00
Ayaz Hafiz
61b11c9882
Single-threaded layout interner should resolve recursive pointer
2023-01-25 17:19:39 -06:00
Ayaz Hafiz
44acb7e047
Update recursive layout tests
2023-01-25 17:19:14 -06:00
Ayaz Hafiz
0cd448eab4
Start ir-checking quicksort_help again
...
Closes #4694
2023-01-25 16:28:53 -06:00
Ayaz Hafiz
aab626bf3f
Remove resolve_recursive_layout
2023-01-25 16:21:05 -06:00
Ayaz Hafiz
7754cc553c
Turn the ir-checker back on
2023-01-25 16:18:47 -06:00
Ayaz Hafiz
c9afbce053
Add an up-to-isomorphism equivalence checker for layouts
2023-01-25 16:17:30 -06:00
Ayaz Hafiz
cb00619ce3
Return normalized representation of recursive union as the rec ptr
2023-01-25 15:16:48 -06:00
Ayaz Hafiz
01ef3ffd02
Disable ir-check for now
2023-01-25 15:16:37 -06:00
Ayaz Hafiz
741b1a1bd5
Always show one level of unions when printing layouts
2023-01-25 15:16:06 -06:00
Ayaz Hafiz
3382be6cb9
Chase recursive layouts as appropriate
2023-01-25 15:10:56 -06:00
Ayaz Hafiz
673ca9a02f
Clippy
2023-01-25 13:33:32 -06:00
Ayaz Hafiz
ae7c899e51
Lift up more layouts
2023-01-25 13:14:38 -06:00
Ayaz Hafiz
3c8b68d3bb
Lift up insertions of layouts
2023-01-25 13:12:38 -06:00
Ayaz Hafiz
d2e247ed6e
Remove unused var
2023-01-25 13:03:31 -06:00
Ayaz Hafiz
f451ba49f1
Toss out when-recursive from llvm backend
2023-01-25 12:48:06 -06:00
Ahmad Sattar
0adb38beca
Add List.append
implementation for generic64
2023-01-25 19:47:11 +01:00
Ahmad Sattar
9b525143cb
Add List.reserve
implementation for generic64
2023-01-25 19:46:54 +01:00
Ayaz Hafiz
a1ebfa30f8
Remove unused variable
2023-01-25 12:33:01 -06:00
Ayaz Hafiz
7159eeabcd
Toss out when-recursive in alias analysis
2023-01-25 12:30:32 -06:00
Folkert
3417a0e059
fix silent merge request wrt record accessors
2023-01-25 00:02:19 +01:00
Ayaz
ad84e02abf
Merge pull request #4950 from roc-lang/keep-recptr-index
...
Initial support for linking recursive pointer layouts back to their source layouts
2023-01-24 14:42:00 -06:00
Folkert de Vries
8e5efe67b4
Merge pull request #4912 from roc-lang/remove-polymorphic-expression-compilation
...
Rip out polymorphic expression compilation
2023-01-24 21:35:08 +01:00
Folkert de Vries
7aaf0f3822
Merge pull request #4916 from roc-lang/rust1_65
...
upgrade to rust 1.65 and clippy fixes
2023-01-24 14:14:10 +01:00
Brian Carroll
ac45fa2bba
Merge pull request #4683 from roc-lang/gen-wasm-shr-128
...
gen_wasm: Implement u128 right shift by delegating to compiler_rt
2023-01-24 00:36:27 +00:00
Ayaz Hafiz
7f284a753b
Lints
2023-01-23 17:09:05 -06:00
Ayaz Hafiz
8ad185fd1a
opaque pointers fit in a register in x86
2023-01-23 17:08:47 -06:00
Brian Carroll
5179057fc5
gen_wasm: implement NumIntCast for i128
2023-01-23 22:39:24 +00:00
Brian Carroll
a249e14ee5
builtins: restore nicer hash code for Dict
2023-01-23 22:39:24 +00:00
Ayaz
a7c415dc35
Merge pull request #4940 from joshuawarner32/tuple-solve
...
Initial implementation of tuples in type checking
2023-01-23 16:25:35 -06:00
Ayaz Hafiz
efd7d71dc4
Use Layout::NAKED_RECURSIVE_PTR and update comments
2023-01-23 16:10:54 -06:00
Brian Carroll
28d6d000ec
gen_wasm: Implement u128 right shift by delegating to compiler_rt
2023-01-23 22:07:40 +00:00
Ayaz Hafiz
8edbd3b378
Eliminate uses of RECURSIVE_PTR directly
2023-01-23 16:04:55 -06:00
Folkert de Vries
0b1ee3faeb
Merge pull request #4931 from thehabbos007/list-with-capacity
...
gen_dev: x86 Add `List.withCapacity` implementation
2023-01-23 23:00:35 +01:00
Ayaz Hafiz
37d9307fbf
Call insert_recursive for union layouts
2023-01-23 15:40:40 -06:00
Ayaz Hafiz
59144f6e29
Unused var
2023-01-23 14:37:49 -06:00
Ayaz Hafiz
695b2e6363
Fix a bug by not recording normalized layouts
2023-01-23 14:37:49 -06:00
Ayaz Hafiz
7169d0974d
Add support for interning normalized recursive layouts
2023-01-23 14:37:49 -06:00
Ayaz Hafiz
8750127111
Begin support for looping-back recursive pointers to their source layouts
2023-01-23 14:37:48 -06:00
Anton-4
6d115af11a
update tutorial basic-cli release
2023-01-23 20:11:32 +01:00
Anton-4
1f2b39a521
Merge branch 'main' of github.com:roc-lang/roc into rust1_65
2023-01-23 18:27:33 +01:00
Joshua Warner
303e5bceb3
Fix tuple accessor type printing
2023-01-22 13:22:39 -08: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
25f1d8d54f
Merge pull request #4942 from JTeeuwissen/typo
...
fixed typo
2023-01-22 13:52:04 -06:00
J.Teeuwissen
b8f9684a01
fixed typo
2023-01-22 15:31:02 +01:00
J.Teeuwissen
28c18aa211
values_mut
2023-01-22 15:28:36 +01:00
Folkert de Vries
608ee9ebb5
Merge pull request #4918 from roc-lang/surgical-linker-cleanup
...
surgical linker: remove jump slot relocations and update static symbols
2023-01-22 11:52:03 +01:00
Ayaz Hafiz
f6da8275ec
Record changed variables if any nested variable has changed
...
When we unify variables in mono, we must invalidate the sections of the
layout cache reached by those variables. Previously we did this by
recording changed variables as those that were `merge`d. However this is
not enough; we must also record all the parent types they came from. The
reason is we may have something like
```
Alias (Foo, a) ~ Alias (Bar, U8)
```
where we will merge `a = U8` but we do not merge the aliases.
Closes #4919
2023-01-21 12:37:21 -06:00
Ayaz Hafiz
d4e8fe81cb
Update mono tests
2023-01-21 12:37:10 -06:00
Ayaz Hafiz
bfb7bc39a7
Register top-level accessors as functions
2023-01-21 12:37:09 -06:00
Ayaz Hafiz
f0ab9f77ca
Don't mark accessors as thunks
2023-01-21 12:37:09 -06:00
Ayaz Hafiz
6b491c617e
Store def name on accessor functions
2023-01-21 12:37:09 -06:00
Ayaz Hafiz
36f8ed6478
Rip out polymorphic expression compilation
...
We no longer need this except for number literals, which are simple to
handle.
2023-01-21 12:37:09 -06:00
Anton-4
9c808306e8
Merge branch 'main' of github.com:roc-lang/roc into surgical-linker-cleanup
2023-01-21 19:02:49 +01:00
Anton-4
cc67c75d39
update to rm2
2023-01-21 19:02:40 +01:00
dependabot[bot]
8801c147cb
Bump bumpalo from 3.11.0 to 3.11.1
...
Bumps [bumpalo](https://github.com/fitzgen/bumpalo ) from 3.11.0 to 3.11.1.
- [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.11.0...3.11.1 )
---
updated-dependencies:
- dependency-name: bumpalo
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-21 15:06:17 +00:00
Folkert
3f72bc7222
clippy
2023-01-21 15:58:33 +01:00
Folkert
8442be824b
List.reserve: load spare from symbol, don't use a local
2023-01-21 15:57:10 +01:00
Folkert
52b283edd4
roc_std: don't throw away capacity after appending slice
2023-01-21 15:57:10 +01:00
Ahmad Sattar
312997f1c6
Add List.withCapacity
implementation for x86
...
Uses the zig builtin `listWithCapacity`
2023-01-21 15:57:10 +01:00
Anton-4
3a81fe6e86
Merge remote-tracking branch 'upstream/main' into parser-package
2023-01-21 11:51:57 +01:00
Richard Feldman
d57cb50425
Merge pull request #4909 from roc-lang/list-concat-check-capacity
...
use capacity instead of length in list deinit
2023-01-20 18:21:17 -05:00
Folkert de Vries
04449c3a0c
Merge pull request #4910 from roc-lang/weakening-6
...
Add some regression tests for problems weakening solves
2023-01-21 00:14:49 +01:00
Folkert
4e5b106f98
use capacity instead of length in list deinit
2023-01-20 21:44:41 +01:00
Ayaz
c85df2ef48
Merge pull request #4908 from roc-lang/str-trim-capacity
...
fix memory leak in string trimming
2023-01-20 13:18:44 -06:00
Anton-4
1f7e8d58a6
only run letter parser on ubu CI
2023-01-20 16:42:37 +01:00
Ayaz
78fc30484e
Merge pull request #4903 from joshuawarner32/fix-nested_backpassing_no_newline_before
...
Fix formatting of backpassing in a nested def with no newline
2023-01-19 22:55:03 -06:00
Ahmad Sattar
be445f6f11
Enable more List.len
tests for gen-dev
2023-01-20 00:45:38 +01:00
Folkert de Vries
810e05cd9a
Merge pull request #4922 from thehabbos007/asa/numgt
...
gen_dev: fix signed/unsigned `less than` and add signed/unsigned `greater than`
2023-01-19 20:49:06 +01:00
Folkert
165d4b3450
fix memory leak in string trimming
2023-01-19 14:35:38 +01:00
Ahmad Sattar
bbd4c9886c
Add NumSubWrap as a NumSub copy
2023-01-19 09:19:20 +01:00
Ayaz Hafiz
52063b2df2
Add test to regression-test over-specialization as in #4717
2023-01-18 18:11:59 -06:00
Ayaz Hafiz
9a4e4f25c2
Add regression tests for #4772
...
Closes #4772
2023-01-18 18:11:57 -06:00
Brendan Hansknecht
7d6426b280
surgical linker: remove none relocations
...
Simply setting relocations to None does not always work.
If the linker runs a none relocation, it may cause the application to crash.
To fix this, we fully remove all of the none relocations.
2023-01-18 23:19:23 +01:00
Brendan Hansknecht
7c08520e0e
surgical linker: remove jump slot relocations and update static symbols
2023-01-18 23:19:22 +01:00
Ahmad Sattar
6670a5d205
Add greater than
comparison
2023-01-18 20:26:45 +01:00
Ahmad Sattar
3683e9d436
Fix up less than
comparison
2023-01-18 20:26:45 +01:00
Anton-4
8b14aec0f5
Merge branch 'main' of github.com:roc-lang/roc into rust1_65
2023-01-18 19:26:59 +01:00
Anton-4
c9a0664023
Merge remote-tracking branch 'upstream/main' into parser-package
2023-01-18 19:21:27 +01:00
Ayaz Hafiz
f58fb42d2b
Ignore gui test for now
2023-01-18 10:16:25 -06:00
Ayaz Hafiz
59eb980fb2
Fix gen tests
2023-01-18 10:14:19 -06:00
Ayaz Hafiz
e6ab8dcf60
Fix mono test
2023-01-18 10:06:14 -06:00
Luke Boswell
d14d410153
added basic parsing example to ci
2023-01-18 13:49:38 +01:00
Luke Boswell
6790848be5
remove redundant zig platform, fix tests
2023-01-18 12:52:19 +01:00
Anton-4
f00a9b1748
Merge branch 'main' into rust1_65
...
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2023-01-17 20:14:44 +01:00
Anton-4
4b929cfdb3
rust 1.65 updates for wasm target
2023-01-17 20:11:38 +01:00
Ayaz
ed7123ed5b
Merge pull request #4887 from roc-lang/weakening-5
...
Finish weakening let-bindings
2023-01-17 12:47:12 -06:00
Ayaz
6b7bf167f9
Merge pull request #4890 from roc-lang/tag-union-ext
...
Do not permit implicitly-inferred-open extension vars to grow in tag width
2023-01-17 12:30:05 -06:00
Anton-4
73f46b6613
update flake so that rust 1.65 is used for default.nix, macos clippy fixes
2023-01-17 18:44:24 +01:00
Anton-4
88f218d24f
clippy fixes after merge
2023-01-17 18:24:38 +01:00
Anton-4
35b93f0d1e
use new name for clippy error
2023-01-17 18:19:17 +01:00
Anton-4
bbf35af8fa
Merge branch 'main' into rust1_65
...
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2023-01-17 18:14:30 +01:00
Anton-4
a97c53d7ca
1.65 changes and clippy fixes
2023-01-17 18:09:16 +01:00
Anton-4
309052c85a
re-enable args cli_run test
2023-01-17 14:45:17 +01:00
Ayaz
c5788e62c6
Merge branch 'main' into tag-union-ext
...
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
2023-01-16 16:32:02 -06:00
Ayaz Hafiz
ff625397ed
Fix wasm sizeof
2023-01-16 14:26:50 -06:00
Ayaz Hafiz
1c8cef2547
Update mono
2023-01-16 12:46:40 -06:00
Ayaz Hafiz
ec8c6bdfc5
Add gen tests for #4734
...
Closes #4734
2023-01-16 12:45:09 -06:00
Ayaz Hafiz
011c2ffd47
Add mono tests for function-specialization information preserved in lambda sets
2023-01-16 12:45:08 -06:00
Ayaz Hafiz
3109b2b00f
Store args/return layout in the lambda set specialization layout
2023-01-16 12:45:08 -06:00
Ayaz Hafiz
237bb6bcd5
Use env when constructing lambda sets rather than clearing their envs
2023-01-16 12:45:08 -06:00
Ayaz Hafiz
81d2d2923d
Remove lambda set recursion var as appropriate after construction
2023-01-16 12:45:08 -06:00
Ayaz Hafiz
8dc2a5daa7
Store args, return type on lambda set
2023-01-16 12:45:07 -06:00
Joshua Warner
d876abb04b
Fix formatting of backpassing in a nested def with no newline
...
Fixes #4338
2023-01-16 09:31:08 -08:00
Ayaz Hafiz
56d14b8b32
Fix load tests
2023-01-16 11:17:59 -06:00
Ayaz Hafiz
20d0d62af7
Allow extending Openness constraints when doing specializations
2023-01-16 10:54:39 -06:00
Ayaz Hafiz
1d75934659
Don't match empty tag union in openness constraint
2023-01-16 10:54:39 -06:00
Ayaz Hafiz
f08a8aa8c7
Fix release build
2023-01-16 10:54:39 -06:00
Ayaz Hafiz
91d61424ad
Lints
2023-01-16 10:54:39 -06:00
Ayaz Hafiz
2f74d0b1b9
Do not permit inferred-open-in-output-position extension variables to grow
...
Closes #4852
Closes #4845
2023-01-16 10:54:38 -06:00
Ayaz Hafiz
c9460ecf3f
Rename IsImplicitOpennessVar
2023-01-16 10:52:23 -06:00
Ayaz Hafiz
5fceb9ceb7
Push implicit openness vars through
2023-01-16 10:52:23 -06:00
Ayaz Hafiz
96b2b7a0c5
Fix comment
2023-01-16 10:52:23 -06:00
Ayaz Hafiz
a47841d426
Generalize tag openness extension variables
2023-01-16 10:52:23 -06:00
Ayaz Hafiz
281b71cf94
Unification of Any and Openness tag extensions
2023-01-16 10:52:23 -06:00
Ayaz Hafiz
1c93727822
Add a notion of "openness" tag extensions suitable only for size-polymorphism
2023-01-16 10:52:23 -06:00
Ayaz Hafiz
5f5d6a42d1
Add debug assertion for shape of tag union extension variables
...
When we have a tag union type, outside of special cases in the middle of
unification, its extension type should either be (1) the closed tag
union or (2) a flex/rigid var. This adds an assertion for that.
2023-01-16 10:52:23 -06:00
Ayaz Hafiz
1c58118dc7
Strip _new from tag unification functions
2023-01-16 10:52:22 -06:00
Ayaz Hafiz
0201b29a5e
Fix expect tests
2023-01-16 10:52:10 -06:00
Ayaz Hafiz
95dae5036a
Weaken top-level mutually recursive let bindings as appropriate
2023-01-16 10:49:17 -06:00
Ayaz Hafiz
a77f04cd19
Weaken mutually-recursive let bindings as appropriate
2023-01-16 10:49:17 -06:00
Ayaz Hafiz
58081ada19
Weaken aliased variable names
2023-01-16 10:49:17 -06:00
Ayaz Hafiz
c3f1646274
Weaken ability members behind let-bindings
2023-01-16 10:49:17 -06:00
Ayaz Hafiz
48049ed956
Weaken tags behind let bindings
2023-01-16 10:49:17 -06:00
Ayaz Hafiz
52c2f3a054
Weaken zero-argument tags in let bindings
2023-01-16 10:49:16 -06:00
Joshua Warner
3b51d7cd13
Fix multi-backpassing in top-level defs
...
Fixes #4821
2023-01-15 10:39:21 -08:00
Ayaz
545e6bc989
Merge pull request #4884 from joshuawarner32/fmt-fuzzing-fixes
...
Fix approximately a bajillion fmt and parsing bugs
2023-01-14 19:45:30 -06:00
Ayaz
616d699e59
Merge pull request #4894 from roc-lang/list-reserve-zst
...
handle zero-sized types in list decrement
2023-01-14 19:44:31 -06:00
Folkert de Vries
43a8d1e610
Merge pull request #4885 from roc-lang/weakening-4
...
Weakening 4
2023-01-14 17:23:40 +01:00
Folkert de Vries
9a86e7e080
Merge pull request #4896 from roc-lang/expect-crash
...
reproduce crash in `expect` with Lists of different length
2023-01-14 16:53:52 +01:00
Ayaz Hafiz
d9da945283
Allow generalization of annotations with no implementation
2023-01-14 15:33:54 +01:00
Ayaz Hafiz
beb7e79830
Print extension vars that are ability-bound
2023-01-14 15:33:54 +01:00
Ayaz Hafiz
3d0a0a4a99
Update more dict/set references
2023-01-14 15:33:54 +01:00
Ayaz Hafiz
ab796d93ff
Format
2023-01-14 15:33:54 +01:00
Ayaz Hafiz
df90baa0fc
Weaken runtime errors
2023-01-14 15:33:53 +01:00
Ayaz Hafiz
e525726be6
Weaken typed holes
2023-01-14 15:33:53 +01:00
Ayaz Hafiz
20b4f290ce
Weaken expect/dbg behind let bindings
2023-01-14 15:33:53 +01:00
Ayaz Hafiz
354765afca
Explain why opaque wrap functions need not be weakened behind lets
2023-01-14 15:33:52 +01:00
Ayaz Hafiz
6dca92e420
Weaken record updates behind let bindings
2023-01-14 15:33:52 +01:00
Ayaz Hafiz
2e36e2f418
Don't weaken accessor functions
...
Accessor functions are equivalent to closures and hence obey function
semantics, no need to weaken them
2023-01-14 15:33:52 +01:00
Ayaz Hafiz
0a9155d9d8
Weaken record accesses
2023-01-14 15:33:51 +01:00
Ayaz Hafiz
b5cce17822
Weaken crash
2023-01-14 15:33:51 +01:00
Ayaz Hafiz
b8712bcb30
Weaken records in let-bindings
...
This change also means we must update the interface of `Dict.empty` and
`Set.empty` from
```
Dict.empty : Dict k v
```
to
```
Dict.empty : {} -> Dict k v
```
2023-01-14 15:33:51 +01:00
Ayaz Hafiz
61ac9bf9b2
Weaken binding empty records
2023-01-14 15:33:50 +01:00
Ayaz Hafiz
64f979a826
Weaken foreign calls
2023-01-14 15:33:50 +01:00
Ayaz Hafiz
b3acbdfdfd
Weaken run-low-level
2023-01-14 15:33:50 +01:00
Ayaz Hafiz
cb1373a3a4
Weaken let-binding calls
2023-01-14 15:33:49 +01:00
Ayaz Hafiz
d27a72de1f
Weaken let sequences under let binding
2023-01-14 15:33:49 +01:00
Ayaz Hafiz
e36f90feec
Weaken recursive let bindings
2023-01-14 15:33:49 +01:00
Folkert de Vries
e3a213c0dc
Merge pull request #4882 from roc-lang/weakening-3
...
Begin weakening let-bindings to non-function, non-number expressions
2023-01-14 15:32:27 +01:00
Folkert
83dc08b3b4
add expected test output
2023-01-14 15:19:25 +01:00
Folkert
148ec3752d
fix bug with record field ordering in repl eval
2023-01-14 15:09:12 +01:00
Folkert
dca1c665ae
fix list elementes being cloned to the wrong place
2023-01-14 14:25:23 +01:00
Folkert
437498b7ac
list decrement must use capacity, not length
2023-01-14 13:14:37 +01:00
Joshua Warner
0b8e68f70d
Fix approximately a bajillion fmt and parsing bugs
...
(discovered by fuzzing)
There's more to come, but this seems like a good batch for now.
2023-01-13 18:20:44 -08:00
Ayaz Hafiz
7c4cfba4b8
Rephrase solve comments as per Folkert's review
2023-01-13 12:58:11 -06:00
Richard Feldman
8ac0d3b493
Fix unused var in release builds
2023-01-13 03:23:42 -05:00
Richard Feldman
76a4414aaf
Merge remote-tracking branch 'origin/main' into improve-type-mismatch
2023-01-12 21:47:39 -05:00
Ayaz Hafiz
d43387d1be
Fix missing parameter in to_relevant_branch_help
...
main is currently broken because of a non-conflicting diff that landed
before the interner change landed.
2023-01-12 15:43:14 -06:00
Richard Feldman
eaf8ce6c08
Add a debug_assert! about tag union polarity
2023-01-12 16:22:35 -05:00
Richard Feldman
e291e0ee99
Combine some match
branches
2023-01-12 16:21:33 -05:00
Richard Feldman
717350ef9e
FlexAbleVar sets should be equal if the vars are.
2023-01-12 16:20:36 -05:00
Richard Feldman
63161b5330
Remove a debug print
2023-01-12 16:16:50 -05:00
Richard Feldman
41a7304e77
Merge pull request #4854 from roc-lang/intern-layouts-6
...
Intern all the layouts
2023-01-12 15:45:14 -05:00