Folkert
a37a895016
optimize tag name cache
2022-03-06 14:11:33 +01:00
Folkert
04818292a8
Make type_to_variable manually tail-recursive
...
by using a work stack and reserving variables. fun stuff
2022-03-06 13:22:55 +01:00
Folkert
7ad55d67e2
Make type_to_variable manually tail-recursive
...
by using a work stack and reserving variables. fun stuff
2022-03-06 13:15:50 +01:00
Folkert
4806dc378f
add comment and assert back
2022-03-05 23:49:21 +01:00
Folkert
0351b9fce7
improvements to adjust_rank
2022-03-05 23:45:07 +01:00
Folkert
97d9027271
improve pool_to_rank_table
2022-03-05 23:44:57 +01:00
Folkert
3372d7184e
improvements to adjust_rank
2022-03-05 23:29:33 +01:00
Folkert
fd179c8b4e
improve pool_to_rank_table
2022-03-05 23:07:57 +01:00
Folkert
6009768991
Merge branch 'def-types-tweaks' into builtins-in-roc
2022-03-05 22:36:59 +01:00
Folkert
c7c9a90d65
restructure how def_types are stored in Constraints
2022-03-05 21:47:49 +01:00
Folkert
adf4ad22a5
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc
2022-03-05 20:55:15 +01:00
hafiz
cad02d878c
Merge pull request #2645 from rtfeldman/solve-fully-tail-recursive
...
make solve fully tail recursive
2022-03-05 14:35:39 -05:00
Folkert
1b66247303
renaming
2022-03-05 19:30:15 +01:00
Folkert
fc4212310f
Merge remote-tracking branch 'origin/trunk' into solve-fully-tail-recursive
2022-03-05 18:34:09 +01:00
Folkert
80956061dd
fix formatting bug in type pretty-print
2022-03-05 15:03:59 +01:00
Folkert
6370a80c62
make sure lambda sets within aliases are in IntroducedVariables
2022-03-05 14:29:34 +01:00
Folkert
d158702e1a
Merge remote-tracking branch 'origin/trunk' into take-scratchpad-bug
2022-03-05 02:15:46 +01:00
Folkert
8c321c1aa4
fix a bug with taking a scratchpad arena
2022-03-05 02:12:10 +01:00
Folkert
a79f6c6cdd
restructure and add comments
2022-03-05 01:29:21 +01:00
Folkert
c7d8ae6c79
make complex case tail-recursive
2022-03-05 01:02:27 +01:00
Folkert
3a1add6ce8
add LocalDefVarsVec::from_def_types
2022-03-05 00:53:27 +01:00
Folkert
41df04184e
make the simple case tail-recursive
2022-03-05 00:26:03 +01:00
Folkert
4ca9ea0b89
refactor After
2022-03-04 23:57:41 +01:00
Folkert
38d3d3169a
drop final suffixes
2022-03-02 21:30:38 +01:00
Folkert
546afc9661
drop soa suffix
2022-03-02 21:21:37 +01:00
Folkert
0eb98a4c59
move over constraint
2022-03-02 21:19:58 +01:00
Folkert
c52029c2d1
the debugging begins
2022-03-02 20:30:42 +01:00
Folkert
fe48bdf5b1
make solve that uses new constraint
2022-03-02 19:43:03 +01:00
Folkert
19d7f7ce09
make vars-by-symbol a vector
2022-03-01 21:51:25 +01:00
Folkert
8b457a56c5
reduce cloning of Env
2022-03-01 00:08:56 +01:00
Folkert
d3bbf6d504
struct of arrays!
2022-03-01 00:00:50 +01:00
Folkert
1ef9546391
use Vec instead of MutMap
2022-02-28 23:54:35 +01:00
Folkert
9d82f795b7
make it abstract
2022-02-28 23:43:58 +01:00
Folkert
751ae125a5
remove aliases from solve Env
2022-02-28 23:41:07 +01:00
Folkert
c18befeccf
short-circuit aliases
2022-02-28 23:37:33 +01:00
Folkert
bd31503855
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc
2022-02-28 18:55:20 +01:00
ayazhafiz
01da425851
Simplify solve worklist substantially
2022-02-27 16:41:31 -05:00
Folkert
db1669154e
WIP
2022-02-27 21:53:56 +01:00
ayazhafiz
56d4dc3480
Transition solve
to use a worklist rather than always recursing
...
This should unblock some of @folkertdev's work on transitioning builtins
to pure Roc code. It's not perfect yet (we still make some recursions),
but it's a step, and it should avoid recursing on `Let`
`ret_constraint`s, which caused stack overflows when they became really
long before.
2022-02-27 15:51:19 -05:00
ayazhafiz
07b1829732
Improve error reporting for patterns not matching opaques
2022-02-27 00:11:11 -05:00
ayazhafiz
059c324268
Error reporting for type mismatches involving opaques
2022-02-27 00:10:12 -05:00
ayazhafiz
b6d7229525
Infer + checking tests for opaques
2022-02-27 00:10:12 -05:00
Folkert
65b1b3fcce
just before Num
2022-02-26 23:11:40 +01:00
Folkert
c0d3543d5a
make Str + Result work
2022-02-26 17:52:24 +01:00
hafiz
ca9ecbea52
Merge pull request #2533 from rtfeldman/abilities!
...
[WIP] Spike for abilities and friends
2022-02-21 23:18:40 -05:00
ayazhafiz
90de82e295
Validation of opaques during canonicalization
2022-02-21 18:25:19 -05:00
ayazhafiz
6b53692aac
Canonicalize opaque types
2022-02-20 13:47:01 -05:00
ayazhafiz
d90915a8cd
Implement Num.to* builtins
...
Just wrap over Num.intCast
2022-02-19 11:28:41 -05:00
ayazhafiz
909fae5b6c
Generalize recursion variables properly
...
Closes #2379
Closes #2481
2022-02-18 00:07:38 -05:00
Folkert
04adbe75ca
fix test compilation
2022-02-14 21:09:51 +01:00