Folkert
5763248b44
Merge remote-tracking branch 'origin/trunk' into assoc-list-dict
2022-07-13 20:44:28 +02: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
7ff180c1a5
Remove stale comments
2022-07-13 08:47:40 -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
63adb901b4
A couple hacks to get deriving of records working.. but it's working?
2022-07-13 08:47:38 -04:00
Ayaz Hafiz
719c774acf
Fix errors
2022-07-13 08:47:38 -04:00
Ayaz Hafiz
8d90f2c13e
Fix some compile errors
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
088b443e05
Refactor lambda set compaction so it's better split up
2022-07-13 08:47:35 -04: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
f9d8e01561
implement Dict/Set completely in roc
2022-07-13 00:35:20 +02:00
ayazhafiz
699c4d7fff
Move Solved to roc_solve
2022-07-10 19:42:41 -04:00
Folkert de Vries
f1aae6f480
Merge pull request #3476 from rtfeldman/i3469
...
Remove more builtins code
2022-07-10 23:06:50 +02:00
Ayaz Hafiz
7722601504
Remove stray dbg
2022-07-10 14:40:06 -04:00
Ayaz Hafiz
c211ec9790
Don't include DelayedAlias in illegal cycle checks
2022-07-10 13:53:41 -04:00
Ayaz Hafiz
98287e7670
Remove imported_builtins from load
2022-07-10 10:41:06 -04:00
Richard Feldman
c45e3ec4b4
Merge remote-tracking branch 'origin/trunk' into fix-nested-imports
2022-07-10 08:52:38 -04:00
Ayaz
7b308d9efe
Merge pull request #3404 from rtfeldman/ambient-lset-specialization
...
The ambient lambda set specialization algorithm
2022-07-09 17:23:27 -05:00
Richard Feldman
f45e3dbb46
Fix tests
2022-07-08 18:16:08 -04:00
Ayaz Hafiz
808d19b01b
Correctly compile unified recursive tag unions
2022-07-08 17:35:14 -04:00
Ayaz Hafiz
d9edb4d1bb
Support unification of recursion vars in opaques
2022-07-08 15:31:29 -04:00
Ayaz Hafiz
640ca78bc5
Simplify the lambda set instantiation process
2022-07-06 13:08:59 -04:00
Ayaz Hafiz
ae7ad36d60
Import ambient functions into storage subs properly
2022-07-06 13:08:59 -04:00
Ayaz Hafiz
6c79efa43a
Add comment
2022-07-06 13:08:58 -04:00
Ayaz Hafiz
a2906995e0
Replace flex vars with lambda set vars during type_to_var
2022-07-06 13:08:58 -04:00
Ayaz Hafiz
44ecb13033
Remove dead comment
2022-07-06 13:08:58 -04:00
Ayaz Hafiz
ebcd323449
Use strict unification of vars in unspecialized lambda sets right now
2022-07-06 13:08:58 -04:00
Ayaz Hafiz
a1152934f5
Check in the ambient lambda set specialization doc
2022-07-06 13:08:58 -04:00
Ayaz Hafiz
0b427646e4
Continued progress on new lambda set compaction algorithm
2022-07-06 13:08:57 -04:00
Ayaz Hafiz
5534577a90
Embed new lambda set specialization algorithm
2022-07-06 13:08:56 -04:00
Ayaz Hafiz
62260a2c1d
Clippy
2022-07-06 13:04:30 -04:00
Ayaz Hafiz
918e808aff
Link ambient functions of alias lambda set variables
2022-07-06 13:04:30 -04:00
Ayaz Hafiz
5d74a376af
Attach ambient function vars to lambda sets
2022-07-06 13:04:29 -04:00
Ayaz Hafiz
c154a337a9
Get deep range numbers working
2022-07-05 22:16:52 -04:00
Ayaz Hafiz
fc1617bf17
Phantom types
...
Closes #3314
2022-07-05 19:07:41 -04:00
ayazhafiz
91050d9989
Add solve test for same layout different niche
2022-07-03 10:37:40 -04:00
ayazhafiz
ffa2ba1043
Fix solve tes
2022-07-03 10:37:28 -04:00
Ayaz Hafiz
28c1cf46a3
Multimorphic lambdas capture another lambda
2022-07-03 10:37:28 -04:00
Ayaz Hafiz
88618c098d
Unify lambda sets with left/right closure capture differences
2022-07-03 10:37:26 -04:00
Ayaz Hafiz
cecb6987e7
Admit duplicate lambdas in lambda sets when their captures don't unify
2022-07-03 10:37:25 -04:00
Anton-4
eee85fa45d
moved all crates into seperate folder + related path fixes
2022-07-01 17:37:43 +02:00