Commit graph

4447 commits

Author SHA1 Message Date
J.Teeuwissen
8721ae73e8
switch logic 2023-02-11 16:17:13 +01: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
J.Teeuwissen
20af312818
VarRcType 2023-02-10 15:32:59 +01:00
J.Teeuwissen
26a9b919d9
simplified insert_refcount_stmt 2023-02-10 13:12:10 +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
Folkert
6c15284a8f
more wip; now we just need to generate the exposed procs at the right time 2023-02-08 22:56:38 +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
J.Teeuwissen
ae499137e4
start right to left evaluation with environment 2023-02-08 15:01:35 +01:00
Folkert
b022175489
implement Box.box and Box.unbox in the dev backend 2023-02-08 13:51:30 +01:00
J.Teeuwissen
1fa96257ed
clear work tree 2023-02-08 12:38:06 +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
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
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
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
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
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
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