Commit graph

13739 commits

Author SHA1 Message Date
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
Folkert
0c5e4df215
remember which variables went where 2022-03-14 21:11:35 +01:00
Folkert
6838891d1b
refactor deep_copy_var_to 2022-03-14 21:08:40 +01:00
Folkert
f9bd46ecb8
fake implementation of type_to_var for DelayedAlias 2022-03-14 20:22:38 +01:00
Folkert
00f3eaf2a1
thread through DelayedAlias 2022-03-14 19:47:19 +01:00
Folkert
7127157962
refactor 2022-03-14 19:21:38 +01:00
Anton-4
d373085386
Merge pull request #2675 from rtfeldman/new-syntax-highlight
peg grammar, tokenizer, new syntax highlighting
2022-03-14 17:20:14 +01:00
Anton-4
0b5df36b25
cleaned up dbg! 2022-03-14 15:15:54 +01:00
Richard Feldman
422a88eced
Merge pull request #2722 from rtfeldman/various-bug-fixes
Various recently filed bug fixes
2022-03-13 22:18:39 -04:00
ayazhafiz
ee8b2a5283 Disable repl box tests on wasm for now 2022-03-13 20:16:04 -05:00
Richard Feldman
fbb9c941d4
Fix some FAQ entries 2022-03-13 21:06:42 -04:00
ayazhafiz
01b5109672 Fix reporting test 2022-03-13 19:47:01 -05:00
ayazhafiz
4c06b9d1a4 Redundant reference 2022-03-13 19:06:37 -05:00
hafiz
60b7fad74d
Merge pull request #2720 from rtfeldman/compact-constraints-store
Compact constraints store
2022-03-13 19:00:17 -05:00
ayazhafiz
e3d3f51951 Demonstrate Box alias imported correctly
Closes #2712
2022-03-13 18:48:56 -05:00
ayazhafiz
ec4bb9ad83 Support boxes in repl
Closes #2712
2022-03-13 18:44:38 -05:00
ayazhafiz
fe1cbc2261 Print i8s correctly in repl
Closes #2710
2022-03-13 18:44:38 -05:00
ayazhafiz
530fa9943a Generate unsigned div and modulo correctly
Closes #2705
2022-03-13 18:44:38 -05:00
ayazhafiz
5670fe06cd Deal with destructuring tag unions behind opaques correctly
Closes #2702
2022-03-13 18:44:38 -05:00
Folkert
872d32652a
remove clone, yay 2022-03-13 22:58:16 +01:00
Folkert
f7ba9918fa
use equal_types_with_storage in opaque type constraining 2022-03-13 22:54:13 +01:00
Folkert
80af910c4f
use equal_types_with_storage in tag constraining 2022-03-13 22:53:22 +01:00
Folkert
7df4465a6e
use equal_types_with_storage in Lambda constraining 2022-03-13 22:47:25 +01:00
Folkert
f23945ad94
use equal_types_with_storage in record constraining 2022-03-13 22:47:07 +01:00
Folkert
6baae55980
add equal_types_with_storage helper 2022-03-13 22:46:41 +01:00
Folkert
e8bf5fa378
prevent clone for all function signatures 2022-03-13 22:35:56 +01:00
Folkert de Vries
ceb69ace4d
Merge pull request #2703 from rtfeldman/type-checking-storage-subs
Transfer types with StorageSubs (instead of SolvedType)
2022-03-13 21:22:53 +01:00
Richard Feldman
13b684c1d1
Merge pull request #2718 from rtfeldman/split-types-values
Split types values
2022-03-13 16:14:54 -04:00
Richard Feldman
165fc4d1c3
Merge pull request #2719 from rtfeldman/faq-function-equality
Add FAQ entry about function equality
2022-03-13 16:02:06 -04:00
Richard Feldman
ef4756ac6d
Add FAQ entry about function equality 2022-03-13 14:45:23 -04:00
Folkert
9a40bcb427
add another comment 2022-03-13 18:32:56 +01:00
Folkert
15ac77567a
make rigid variable introducion more obvious 2022-03-13 18:27:42 +01:00
Folkert
97742b3238
clarify variable name 2022-03-13 17:59:44 +01:00
Folkert
d31ea3e71f
clarify import constraint 2022-03-13 17:59:33 +01:00
Folkert
b3f7b3a337
record referenced types 2022-03-13 17:52:31 +01:00
Folkert
a50a5fd021
record referenced types 2022-03-13 17:51:43 +01:00
Folkert
4ef6cba23a
Merge branch 'split-types-values' into type-checking-storage-subs 2022-03-13 17:43:24 +01:00
Richard Feldman
969d4c6dd7
Merge pull request #2717 from rtfeldman/maybe-faq
Give `Maybe` its own FAQ section
2022-03-13 12:41:47 -04:00
Folkert
66676e0ab9
factor out to separate function 2022-03-13 17:15:59 +01:00
Folkert
fe72008845
remove unused module checking from Solve step 2022-03-13 17:05:32 +01:00
Folkert
496c283491
replicate unused module check after canonicalization 2022-03-13 17:03:54 +01:00
Folkert
563ba6acbb
incorporate referenced types 2022-03-13 16:57:42 +01:00
Folkert
8bc31e82c3
try to keep type and value symbols separate 2022-03-13 16:50:32 +01:00
Folkert
d6c9e0c625
real unsafe now 2022-03-13 16:50:03 +01:00
Richard Feldman
f38b3a1859
Merge pull request #2714 from rtfeldman/abilities-parsing
Parse abilities
2022-03-13 10:36:06 -04:00
Richard Feldman
546db0cf14
Merge pull request #2708 from rtfeldman/docs-for-dict
Update docs for `Dict`
2022-03-13 10:29:59 -04:00