Commit graph

539 commits

Author SHA1 Message Date
Richard Feldman
53e7a41f27
Merge pull request #3606 from rtfeldman/bindgen-tag-alignment
bindgen tag alignment
2022-07-22 08:21:03 -04:00
Folkert de Vries
5aaccd2d5b
Merge pull request #3599 from rtfeldman/i3560
Compile newtypes that decay into non-newtypes in branch patterns
2022-07-22 13:48:11 +02:00
Folkert
f85d3243e9
fix implementation of UnionLayout::tag_id_offset 2022-07-22 13:12:44 +02:00
Folkert
9c2e6fca0a
add UnionLayout::tag_id_offset 2022-07-22 12:53:24 +02:00
Ayaz Hafiz
90acbd54ef
Get rid of loop 2022-07-21 18:20:11 -04:00
Ayaz Hafiz
5988257bde
Reflect newtypes in path instructions 2022-07-21 18:17:57 -04:00
Ayaz Hafiz
f3722659fc
Newtype destructures test for record that decay into their only arg 2022-07-21 15:03:18 -04:00
Ayaz Hafiz
1acb7e0748
Don't add path instructions for newtypes that decay into their args 2022-07-21 14:57:17 -04:00
Ayaz Hafiz
52e15bd344
Reproduce #3560
Part of #3560
2022-07-21 12:30:36 -04:00
Richard Feldman
3129225951
Only print an inc_dec warning in debug builds 2022-07-21 10:42:57 -04:00
Folkert
c2206f3e4d
substitute into expect 2022-07-21 10:42:56 -04:00
Ayaz Hafiz
2cdb951752
Compile higher-order low-level calls that take functions with no closure args
Closes #3571
2022-07-19 15:50:36 -04:00
Ayaz
d5f36a6780
Merge pull request #3568 from rtfeldman/list-maptry 2022-07-18 15:22:38 -05:00
Folkert de Vries
ca38ec4eb5
Merge pull request #3541 from rtfeldman/rocasync
Changes to get roc-async working
2022-07-18 19:22:07 +02:00
Ayaz Hafiz
7df18f82a2
Mark var only for debug builds 2022-07-18 11:21:30 -04:00
Ayaz Hafiz
1440915395
Start generating void layouts for unbound type variables 2022-07-18 10:08:07 -04:00
Ayaz Hafiz
3c4a55f4c1
Fix layout of ZATs when they end up with a closure argument 2022-07-14 16:16:17 -04:00
Ayaz Hafiz
70c77596a3
Apply unnecessary lambda set arg correction 2022-07-14 12:38:53 -04:00
Ayaz Hafiz
20c2c308fa
Include ZATs in host exposed aliases 2022-07-14 12:26:11 -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
Folkert
96414cb03f
cleanup 2022-07-14 08:52:38 +02:00
Richard Feldman
77afe0c1f1
Merge pull request #3503 from rtfeldman/string-memory-problems
String memory problems
2022-07-13 15:17:28 -04:00
Folkert
5763248b44
Merge remote-tracking branch 'origin/trunk' into assoc-list-dict 2022-07-13 20:44:28 +02:00
Richard Feldman
55ca75a37f
Update wrapper docs 2022-07-13 12:19:38 -04:00
Richard Feldman
25facfa9c6
Expose capacity builtins 2022-07-13 12:19:37 -04:00
Ayaz Hafiz
fe63140047
Clippy 2022-07-13 08:47:40 -04:00
Ayaz Hafiz
76f7843c93
Enforce some simplifications 2022-07-13 08:47:40 -04:00
Ayaz Hafiz
6413000579
Factor unloaded derived symbols check 2022-07-13 08:47:40 -04:00
Ayaz Hafiz
a7b06fd7cf
Remove various dbgs 2022-07-13 08:47:39 -04:00
Ayaz Hafiz
df9bcb1a0c
Use Derived_synth for synthesizing implementations, and Derived_gen for codegen 2022-07-13 08:47:39 -04:00
Ayaz Hafiz
987ebfa9d3
Move expr copying to can 2022-07-13 08:47:39 -04:00
Ayaz Hafiz
63adb901b4
A couple hacks to get deriving of records working.. but it's working? 2022-07-13 08:47:38 -04:00
Ayaz Hafiz
91e3bfbd01
Fix tests 2022-07-13 08:47:38 -04:00
Ayaz Hafiz
9826253785
Deriving string encoders works 2022-07-13 08:47:37 -04:00
Ayaz Hafiz
445d922f3b
Compact lambda sets with structural derived ability impls 2022-07-13 08:47:37 -04:00
Ayaz Hafiz
d8bee6cd18
Perfom derives from global derives module, not just symbol table 2022-07-13 08:47:36 -04:00
Ayaz Hafiz
bee7d15aae
Comment out debugs for now 2022-07-13 08:47:35 -04:00
Ayaz Hafiz
16e64263f6
Correctly monomorphize all derived methods 2022-07-13 08:47:34 -04:00
Ayaz Hafiz
e8fb186d79
Load derived member impls into derived module for mono 2022-07-13 08:47:34 -04:00
Folkert
439db7027d
update size asserts 2022-07-13 12:31:32 +02:00
Folkert
6c26d8812f
remove dict/hash stuff from the zig builtins 2022-07-13 11:59:46 +02:00
Folkert
4d55b756bb
remove dict/set layout 2022-07-13 11:41:19 +02:00
Folkert
8e21fdcb04
remove dict/set lowlevels 2022-07-13 11:24:07 +02:00
Richard Feldman
455dde1ba4
Merge remote-tracking branch 'origin/trunk' into string-memory-problems 2022-07-12 22:03:49 -04:00
Folkert
0e080f95ca
remove dict/set layout gen 2022-07-13 01:00:46 +02:00
Ayaz Hafiz
f1a6ea6a40
Typecheck and compile opaque wrapping functions
This enables you to write something like

```
A := U8
List.map [1, 2, 3] @A
```

which will be compiled as if it was `List.map [1, 2, 3] \x -> @A x`.

Closes #3499
2022-07-12 18:38:03 -04:00
Folkert de Vries
d889f1fda9
Merge pull request #3498 from rtfeldman/no-line-numbers-in-runtime-error-function
Remove compiler-file/line-dependent runtime error messages
2022-07-12 23:04:06 +02:00
Folkert de Vries
846bab7425
Merge pull request #3493 from rtfeldman/deep-copy-var-in-body
mono copy: deep copy all vars in an expr
2022-07-12 23:02:27 +02:00
Folkert
bc24841921
Str.fromUtf8Range: take list argument as owned; make sure it's decremented in the small string case 2022-07-12 22:57:48 +02:00