Commit graph

467 commits

Author SHA1 Message Date
Folkert
e7f3c6f281
inline dbg 2022-11-23 21:23:28 +01:00
Richard Feldman
58e672749c
Fix glue getter name synchronization 2022-11-16 17:06:21 -05:00
Folkert
c9d1401738
generate correct glue mono IR procs for tag unions 2022-11-16 20:28:26 +01:00
Richard Feldman
70c949c50b
Handle field layouts for more than just structs 2022-11-16 11:22:00 -05:00
Richard Feldman
b44f76f500
Use from_iter_in 2022-11-16 11:21:50 -05:00
Richard Feldman
8e2bbee377
Simplify how glue_procs are handled 2022-11-13 23:10:23 -05:00
Richard Feldman
d35d268a6b
Move layout_contains_function to a method on Layout 2022-11-13 18:14:33 -05:00
Richard Feldman
f24275c28f
Make generate_glue_procs take a trait 2022-11-13 18:13:50 -05:00
Richard Feldman
99420f65ed
Merge branch 'glue-exposed' into glue-getters 2022-11-11 17:02:27 -05:00
Anton-4
f20577d9fb
format 2022-11-09 20:48:18 +01:00
Anton-4
38ea090c3e
rust 1.64 + clippy 2022-11-09 19:35:09 +01:00
Folkert
14cd48fce7
Merge remote-tracking branch 'origin/main' into rust-1-62-1 2022-11-09 13:51:51 +01:00
Folkert
19a8b95c42
codegen getters 2022-11-06 14:56:51 +01:00
Folkert
5ae4ccad5e
refactor 2022-11-06 13:36:58 +01:00
Folkert
f291e85ccb
revert size change 2022-11-04 00:07:11 +01:00
Folkert
5c33369d6b
formatting 2022-11-03 23:48:39 +01:00
Folkert
134de80150
various updates 2022-11-03 17:18:27 +01:00
Folkert
66a1ba00eb
1.65 clippy fixes 2022-11-03 16:20:37 +01:00
Ayaz Hafiz
d114d410cb
Compile expect conditions with bool type, not continuation type 2022-11-02 16:02:39 -05:00
Folkert
c9aedff3e8
glue getters in mono 2022-11-02 21:36:32 +01:00
Ayaz Hafiz
fc52e9582e
Fix an off-by-one modelling 2022-11-01 22:42:52 -05:00
Ayaz Hafiz
822aa71a0a
Compute list element stores lazily 2022-11-01 15:37:36 -05:00
Ayaz Hafiz
0706615d29
Decision tree compilation of suffixed list patterns 2022-11-01 15:22:31 -05:00
Ayaz Hafiz
ae71c7efe2
Decision tree compilation of list patterns 2022-11-01 15:22:31 -05:00
Ayaz
da1d937277
Merge pull request #4352 from roc-lang/i4349
Support monomorphic captures of body-polymorphic expressions in closures
2022-11-01 15:21:30 -05:00
Ayaz Hafiz
b0a8b85de3
Canonicalization of list patterns 2022-10-31 17:04:47 -05:00
Ayaz Hafiz
5164994fb5
Do not attempt to lookup functions in expects
Functions are not useful to print in expect results, because they are
only printed opaquely as `<function>`. Moreover, their transformation to
closure sets during mono can be extremely lossy, up to and including the
elision of symbols for function closure symbols. As such, simply do not
attempt to lookup or print functions referenced in expects.

Closes #4389
2022-10-24 10:28:56 -05:00
Ayaz Hafiz
b51816d5ef
Improve documentation and structure of UseDepth 2022-10-23 20:44:04 -05:00
Ayaz Hafiz
ee8e718cc1
Support monomorphic captures of polymorphic expressions in closures
Closes #4349
2022-10-23 20:44:03 -05:00
Ayaz Hafiz
d26e9c81e0
Resolve ability specializations looked up in expects 2022-10-17 17:56:48 -05:00
Ayaz Hafiz
8aee32830a
Add symbols' localized type variable to the AST 2022-10-17 17:35:48 -05:00
Ayaz Hafiz
53514141f6
Layer thunk assignment over def body instead of returning immediately 2022-10-12 10:36:57 -05:00
Ayaz Hafiz
a68c63f1d1
Correctly destructure patterns that are assigned to a thunk'd value
Closes #4309
2022-10-12 09:23:48 -05:00
Ayaz Hafiz
619cd2f629
Infer ranged number for chars in patterns 2022-10-05 17:28:01 -05:00
Ayaz Hafiz
178b634266
Treat single quote literals as ranged numbers for inference purposes 2022-10-05 17:28:00 -05:00
Ayaz Hafiz
f2c30a699c
Remove stray dbg 2022-10-04 14:09:40 -05:00
Ayaz Hafiz
5b833e57b5
Support derivation of Hash for Str and List 2022-10-04 14:09:40 -05:00
Ayaz
211c297230
Merge pull request #4041 from KilianVounckx/opaque-bool
Opaque bool
2022-09-21 11:15:41 -05:00
Ayaz Hafiz
b3167ad49b
Clippy 2022-09-20 14:42:08 -05:00
Ayaz Hafiz
447e1492e1
Work around symbol specializations not getting captured 2022-09-20 14:42:08 -05:00
Ayaz Hafiz
b797e9c0c8
Admit non-trivial holes 2022-09-20 14:42:08 -05:00
Ayaz Hafiz
2f7020aa31
Eliminate voided branches only after resolving their bodies' specializations 2022-09-20 08:35:10 -05:00
Ayaz Hafiz
f41936d5e5
Unwrap layouts containing void layouts as newtypes
Addresses the attempt to do so in https://github.com/roc-lang/roc/pull/3465

Co-authored-by: Folkert <folkert@folkertdev.nl>
2022-09-19 16:50:49 -05:00
Folkert
639c1e5fa3
get rid of UnitWithArguments 2022-09-19 16:49:55 -05:00
Anton-4
f2ee8a441d
rust 1.63, clippy 2022-09-10 20:12:34 +02:00
Folkert de Vries
8bbeb34792
Merge pull request #3981 from roc-lang/use-copy-table
Cache variables sent to a module's external specializations in mono
2022-09-07 12:28:17 +02:00
Ayaz Hafiz
eebe5234f6
Correctly perform record updates that come from thunks
Closes #3908
2022-09-06 18:07:22 -05:00
Ayaz Hafiz
53e1551cd1
Move external specializations storage subs into its own struct 2022-09-06 14:33:41 -05:00
Ayaz Hafiz
882d589d5f
Basic caching of variables saved into storage subs 2022-09-06 14:11:03 -05:00
Ayaz Hafiz
95765bcb1e
Intern the lambda set representation 2022-08-31 14:50:56 -05:00