Commit graph

4730 commits

Author SHA1 Message Date
Ayaz Hafiz
dac4d842d8
Fix types 2023-07-17 09:52:14 -05:00
Ayaz Hafiz
b3ccc905a4
Fix some checkmate bad schemas 2023-07-17 09:51:01 -05:00
Ayaz Hafiz
fcd733e1df
Dump roc checkmate 2023-07-17 09:51:01 -05:00
Ayaz Hafiz
1282110ef5
Push checkmate through load 2023-07-17 09:51:00 -05:00
Ayaz Hafiz
27dd9d03aa
Stub out checkmate react app 2023-07-17 09:50:38 -05:00
Ayaz Hafiz
271d2a3219
Refactor the schema for granularity 2023-07-17 09:50:37 -05:00
Ayaz Hafiz
358681a464
Generate schema for checkmate 2023-07-17 09:50:37 -05:00
Ayaz Hafiz
f78919cd2e
Add JsonSchema 2023-07-17 09:50:37 -05:00
Ayaz Hafiz
d7a30966c1
Add explicit casts
For some reason these can no longer be inferred.
2023-07-17 09:50:37 -05:00
Ayaz Hafiz
8d1d4e6df3
debug import 2023-07-17 09:50:37 -05:00
Ayaz Hafiz
c9d2c4d4cd
Drop unused schema 2023-07-17 09:50:37 -05:00
Ayaz Hafiz
d6c24accef
Schema unification mode 2023-07-17 09:50:37 -05:00
Ayaz Hafiz
5ea9bd19b2
Unify on roots 2023-07-17 09:50:37 -05:00
Ayaz Hafiz
18e9f8f034
Move unify::Mode to roc_solve_schema 2023-07-17 09:50:36 -05:00
Ayaz Hafiz
87d108eccc
Push checkmate through env 2023-07-17 09:48:59 -05:00
Ayaz Hafiz
8097ee3342
Hide subs behind Env deref 2023-07-17 09:48:57 -05:00
Ayaz Hafiz
1df2e942a2
Add a collector of unification + solve events 2023-07-17 09:47:57 -05:00
Ayaz Hafiz
40223a697d
First pass of checkmate schema 2023-07-17 09:47:57 -05:00
Ayaz Hafiz
93513cffae
pub is_signed 2023-07-17 09:47:57 -05:00
Ayaz Hafiz
a21e016032
Make public 2023-07-17 09:47:57 -05:00
Ayaz Hafiz
879719b166
s/width/min_width 2023-07-17 09:47:57 -05:00
Ayaz
b36ad76cdd
Merge pull request #5576 from roc-lang/spike-erasure
Implement function erasure
2023-07-17 03:27:29 -05:00
Folkert
48fa4f7a8e
When possible, prefer NonNullableUnwrapped over NullableWrapped
e.g. in the scenario of `[ A Str, B, C, D ]`, rather than having one tag be nullable, we want
to store the tag id in the pointer. This generally saves 8 bytes for
every allocation, and prevents an allocations for all tags except A.
2023-07-16 20:06:46 +02:00
Ayaz Hafiz
016862ca28
Fix types 2023-07-12 17:52:05 -05:00
Ayaz Hafiz
00730be6fb
Fix doc comments 2023-07-12 17:16:12 -05:00
Ayaz Hafiz
a2574a5a98
Update vars 2023-07-12 17:01:31 -05:00
Ayaz Hafiz
fea41000e5
Update mono tests 2023-07-12 17:00:55 -05:00
Ayaz Hafiz
baf6c6f712
Make sure to specialized erased at least once 2023-07-12 16:43:22 -05:00
Ayaz Hafiz
3a3ee4dedf
Elide lifetimes 2023-07-12 16:10:59 -05:00
Ayaz Hafiz
937e042c8f
Fixed erased with nullable unwrapped union 2023-07-12 16:01:44 -05:00
Ayaz Hafiz
5e9a06e537
Boxed helpers 2023-07-12 15:55:25 -05:00
Ayaz Hafiz
a8d821bf87
Remove all box references 2023-07-12 15:50:00 -05:00
Ayaz Hafiz
b5db3f68e1
Add experimental flag for roc_erase 2023-07-12 14:46:37 -05:00
Ayaz Hafiz
9702f30a61
Support erased functions in debug mode 2023-07-12 14:46:37 -05:00
Ayaz Hafiz
cb56872566
Add initial tests 2023-07-12 14:46:36 -05:00
Ayaz Hafiz
667a69279e
Refcounting null box ptr 2023-07-12 14:46:36 -05:00
Ayaz Hafiz
0385da490a
Support ValuePtr in alias analysis and llvm 2023-07-12 14:46:12 -05:00
Ayaz Hafiz
8d9c6d09b9
Load as a stack pointer 2023-07-12 14:46:11 -05:00
Ayaz Hafiz
fde75d5432
Correct calling branches 2023-07-12 14:45:03 -05:00
Ayaz Hafiz
23f4d02f81
Cleanup 2023-07-12 14:45:03 -05:00
Ayaz Hafiz
6ba6b04a17
Pass function pointer directly rather than load/store into alloca 2023-07-12 14:45:02 -05:00
Ayaz Hafiz
a123820b2b
Fix argument type 2023-07-12 14:45:02 -05:00
Ayaz Hafiz
1cd9deffe2
Sorry checker 2023-07-12 14:45:02 -05:00
Ayaz Hafiz
3e23699bb4
Build easy refcounter for erased 2023-07-12 14:45:02 -05:00
Ayaz Hafiz
bc4c91a68f
Easy mode refcounter 2023-07-12 14:45:02 -05:00
Ayaz Hafiz
f37cc48e88
Build erased load in llvm 2023-07-12 14:45:02 -05:00
Ayaz Hafiz
fcb907b0c9
Don't pass empty captures 2023-07-12 14:45:02 -05:00
Ayaz Hafiz
13c45151a4
Mono IR checker: check wanted function pointer layout 2023-07-12 14:45:01 -05:00
Ayaz Hafiz
e1c88c6101
Build erased types 2023-07-12 14:45:01 -05:00
Ayaz Hafiz
b8c1436a75
Pass less arguments around 2023-07-12 14:45:00 -05:00