Commit graph

4826 commits

Author SHA1 Message Date
Anton-4
ed78112fbc
windows build fixes 2023-02-17 15:44:15 +01:00
Ahmad Sattar
db497539bc
Combined test for good measure 2023-02-16 23:08:30 +01:00
Ahmad Sattar
3c01ae10c6
Add Lowlevel::Not 2023-02-16 22:47:55 +01:00
Ahmad Sattar
214ee6ed8e
Add Lowlevel::Or 2023-02-16 22:47:54 +01:00
Ahmad Sattar
f8b0a99e6d
Add Lowlevel::And 2023-02-16 22:47:54 +01:00
Ahmad Sattar
82c0aa083d
Support boolean comparisons 2023-02-16 20:58:54 +01:00
Ayaz Hafiz
94c2c47da4
Handle case where only other tag of nullable unwrapped needs no refcount
It's possible to have a nullable unwrapped code where the only material
payload does not need refcounting operations. In this case the
refcounting function is the trivial one.
2023-02-16 09:38:49 -06:00
Folkert
178e80fa9a
fix for when C has to return an empty tag union 2023-02-15 15:30:26 +01:00
Folkert de Vries
d1a22316fc
Merge pull request #5012 from lucacervello/add-spaces-around-optional-record-field
Add spaces around ? in optional record field
2023-02-15 15:05:08 +01:00
Ayaz
b0d3d8fc7c
Merge pull request #5029 from roc-lang/lambda-set-cleanup 2023-02-14 08:51:35 -06:00
Ayaz Hafiz
b11cf19658
Remove unreachable lambda set layout branches
Lambda sets can only appear under function types, so we don't need to
handle them independently in layout gen.
2023-02-13 17:50:24 -06:00
Ayaz Hafiz
b406e384fc
Print recursion variables correctly in pretty printer 2023-02-13 17:42:21 -06:00
Ayaz Hafiz
4844c278a8
Be sure to correctly print multiple unrelated recursion structures as needed 2023-02-13 17:15:34 -06:00
Ayaz Hafiz
a3de22c88a
Do not fixup recursion pointers in non-recursive lambda sets
If a lambda set is non-recursive, but contains naked recursion pointers,
we should not fill those naked pointers in with the slot of the lambda
set during interning. Such naked pointers must belong to an encompassing
lambda set that is in fact recursive, and will be filled in later.

For example, `LambdaSet([Foo, LambdaSet(Bar, [<rec>])] as <rec>)` should
not have the inner lambda set's capture be filled in with itself.

Also, during reification of recursion pointers, we do not need to
traverse re-inserted lambda sets again, since they were just fixed-up.

Closes #5026
2023-02-13 17:14:04 -06:00
Ayaz Hafiz
2903ec4ac2
Remove obsolete comments 2023-02-13 10:54:05 -06:00
Anton-4
2321fa7504
Merge pull request #5025 from roc-lang/windows-flakes
ignore breakout test on windows
2023-02-13 17:43:33 +01:00
Anton-4
80885151b6
ignore breakout test on windows 2023-02-13 13:55:05 +01:00
dankeyy
d73b2737f4
fix error trigger for static-pie platforms 2023-02-12 10:52:28 +02:00
Folkert
eb48f01f63
Str.startsWith, str.endsWith and friends 2023-02-11 00:51:04 +01:00
Folkert
8df8c19ae2
dev backend: Box.unbox and List.get str 2023-02-10 20:19:50 +01:00
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:
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