Folkert
0f3ae18c74
add debug print
2022-03-26 12:54:00 +01:00
Folkert
f132a527c0
rename a function
2022-03-26 12:52:13 +01:00
Folkert
53d426300e
add additonal tests
2022-03-26 12:46:31 +01:00
Folkert
18ba6316fb
clippy
2022-03-26 12:43:17 +01:00
Folkert
2c1879e3da
use store_roc_value when inserting into dict
2022-03-26 12:41:46 +01:00
Folkert
9528f63d87
make Dict.keys and Dict.values use list helpers for returning
2022-03-26 12:36:14 +01:00
Folkert
bff4e03867
store string literals (also the struct) as a const value
2022-03-26 12:31:03 +01:00
Folkert
74f9443a3e
Revert "some zig functions need to accept arguments by-pointer now"
...
This reverts commit fcb34272da
.
2022-03-25 10:45:45 +01:00
Folkert
4e3644a4c6
Revert "fix zig tests"
...
This reverts commit 89223c4032
.
2022-03-25 10:45:31 +01:00
Brian Carroll
22ccadccc9
Merge pull request #2699 from rtfeldman/wasm-zig-tests
...
Run Zig builtin tests on Wasm too
2022-03-19 20:36:54 +00:00
Folkert
6134e57921
Merge remote-tracking branch 'origin/trunk' into list-str-capacity
2022-03-18 18:13:55 +01:00
Folkert
a3b00fbf55
Merge branch 'explicit-closed-tag-record' into delay-instantiating-aliases
2022-03-17 20:34:52 +01:00
Folkert
f8a73e0baa
use unreachable!
2022-03-17 19:50:16 +01:00
Folkert
be07cbe49d
remove instrumentation
2022-03-17 19:48:35 +01:00
Folkert
0d28b5f475
disable printing of type clone count
2022-03-17 19:32:46 +01:00
Folkert
426bfe3ff1
implement solve crate
2022-03-17 19:31:54 +01:00
Folkert
b1612384c7
implement constrain crate
2022-03-17 19:17:52 +01:00
Folkert
34e566965d
implement can crate
2022-03-17 19:04:24 +01:00
Folkert
4545e76b76
implement in the types crate
2022-03-17 19:00:08 +01:00
Folkert
3d5a93a4e6
make substitute use an explicit stack
2022-03-17 18:33:00 +01:00
Folkert
8144d7b390
the setup
2022-03-17 18:24:22 +01:00
Folkert
fc233d2a4f
clippy
2022-03-16 23:05:07 +01:00
Folkert
7c3f3585bb
fix spelling error
2022-03-16 23:02:38 +01:00
Folkert
b38ff78422
make extension check work again
2022-03-16 22:19:48 +01:00
Folkert
c5fb4f2e47
rewrite and fix builtin alias instantiation
2022-03-16 22:10:04 +01:00
Folkert
f868410a91
also skip opaque aliases for now
2022-03-16 22:09:39 +01:00
Folkert
7fd420bb95
optimize instantiation of builtins
2022-03-16 21:15:54 +01:00
Folkert
64287ea783
disable printing of type clone count
2022-03-16 18:38:55 +01:00
Folkert
d3c6f00c77
use custom default aliases
2022-03-16 18:35:42 +01:00
Folkert
144949b7ca
optimize Float types like integers in solve.rs
2022-03-16 18:35:04 +01:00
Folkert
ad6fd18b05
optimizations for known aliases and identity substitutions
2022-03-16 18:33:53 +01:00
Folkert
dab804dca1
record how many clones of Type occur
2022-03-16 18:30:59 +01:00
Folkert
d187d43a0c
add a bunch of implementations of Type functions for DelayedAlias
2022-03-16 18:30:46 +01:00
Folkert
48b6cd09c7
conditionally use a DelayedAlias
2022-03-16 18:29:40 +01:00
Folkert
f24bfeea99
add some aliases to file.rs
2022-03-16 18:18:45 +01:00
Folkert
7f63e09272
remember recursion variable when making alias recursive
2022-03-16 14:52:34 +01:00
Folkert
1dacf29879
make sure aliases are not forgotten
2022-03-16 14:36:24 +01:00
Folkert
b3dce7317d
hook up aliases
2022-03-15 22:23:40 +01:00
Folkert
7d8409f6a6
write Aliases implementation
2022-03-15 22:02:04 +01:00
ayazhafiz
8aaf614481
Improve error message
2022-03-15 11:18:02 -05:00
ayazhafiz
73396c0607
aliases->references in partial procs
2022-03-15 11:05:59 -05:00
ayazhafiz
787c8ee3a5
s/occurence/occurrence/g
2022-03-14 17:50:55 -05:00
ayazhafiz
8810a48a52
fmt
2022-03-14 17:47:29 -05:00
ayazhafiz
93804bb04c
Unnecessary let binding
2022-03-14 17:44:07 -05:00
ayazhafiz
3da34fc843
Report unbound type variables in aliases, opaques
...
Closes #2726
2022-03-14 17:42:45 -05:00
ayazhafiz
17029cff7e
Link aliased lambdas to the partial procs of the original symbol
...
This ensures that we use the correct specialized variable at the call
site of a function. In #2725 what happened was that a generalized
function was aliased, causing it to undergo generalization again. Then,
we lost the variable used to specialize at the call site. Instead, just
link to the partial proc being aliased directly.
There is an added benefit here, which is that we can avoid the
possibly-quadratic replacement of symbols in the generated statement.
Closes #2725
2022-03-14 16:42:53 -05:00
Folkert
a66d23f93d
add substitute_variable
2022-03-14 22:23:26 +01:00
Folkert
18ca42d767
make Type::substitute use an explicit stack
2022-03-14 22:20:59 +01:00
ayazhafiz
2d01c21b5c
Codegen tags that are polymorphic because of rigids
...
Closes #2724
2022-03-14 15:25:25 -05:00
Folkert
9059e09dca
thread through Aliases
2022-03-14 21:20:35 +01:00