Folkert
b4f21930bb
cleanup
2021-11-25 20:49:44 +01:00
Folkert
612f868652
make VariableSubsSlice an alias
2021-11-25 20:29:34 +01:00
Richard Feldman
618925fe27
Fix typo in comment
2021-11-24 23:17:24 -05:00
Folkert
093b733a2c
add tag name dedup
2021-11-25 00:11:11 +01:00
Folkert
7c2e8cd812
optimize NAT
2021-11-24 23:00:03 +01:00
Folkert
9c551a0276
use insertion sort
2021-11-24 22:55:45 +01:00
Folkert
e0d7c54906
simplify alias insertion
2021-11-24 22:39:42 +01:00
Folkert
4e4f827bb0
simplify function-or-tag-union insertion
2021-11-24 22:11:05 +01:00
Folkert
379abeed26
refactor tag insertion
2021-11-24 21:57:19 +01:00
Folkert
340055fca5
point to empty VariableSubsSlice
2021-11-24 21:57:00 +01:00
Folkert
cb8e9acb92
special-case the closure tags
2021-11-24 21:14:58 +01:00
Folkert
3e640f78bf
cleanup
2021-11-24 20:44:51 +01:00
Folkert
308b91153e
add faster insertion path for tag unions
2021-11-24 20:38:52 +01:00
Folkert
541dd9777a
thread_local experiment
2021-11-24 19:59:53 +01:00
Folkert
f1541d56bd
use Entry in some places
2021-11-24 19:45:30 +01:00
Folkert
5e76e3a97e
more reserving into subs
2021-11-24 19:14:37 +01:00
Folkert
739ae60b1e
clean up usage of reserve_into_subs
2021-11-24 18:52:22 +01:00
Folkert
61f6687dea
fix using the wrong length
2021-11-24 18:50:47 +01:00
Folkert
1fbd2a7e7b
reserve variable slices
2021-11-24 16:02:55 +01:00
Folkert
a0c9270124
keep track of visited variables in deep_copy_var
2021-11-24 15:14:17 +01:00
Folkert de Vries
6944c900c2
Merge pull request #2065 from rtfeldman/alias-remove-lowercases
...
Alias remove lowercases
2021-11-23 10:21:05 +01:00
hafiz
682043c16c
Merge pull request #2063 from rtfeldman/type-to-var-prealloc
...
preallocate variables to prevent extra vector allocations
2021-11-22 20:05:16 -06:00
Folkert
b2aa33f839
Merge remote-tracking branch 'origin/trunk' into alias-remove-lowercases
2021-11-22 21:19:27 +01:00
Folkert
2c1005fdf0
remove lowercases from Content
2021-11-22 21:15:58 +01:00
Folkert
2506875970
preallocate variables to prevent extra vector allocations
2021-11-22 20:17:03 +01:00
hafiz
b3ecc16b16
Merge pull request #2050 from rtfeldman/empty-tags-and-unions
...
Canonicalize to empty tags and unions
2021-11-22 08:00:07 -06:00
ayazhafiz
1135d88dd0
Add support for type inference at _
s in type definitions
...
All we have to do is introduce a new, unconstrained type variable at
underscore sites, and let the type reconstructor work its magic! The
unconstrained type variable will become a `FlexVar` that absorbs
constraints given to it, so it'll behave like a proper inference
variable. That's it!
Part of #1804
2021-11-21 22:54:45 -05:00
Folkert
8afdf282cb
assert that no tag union or record with no fields/tags makes it into Subs
2021-11-21 22:25:03 +01:00
Folkert
594e754e1e
manually track visited varibles in deep_copy_var_to
2021-11-20 01:39:57 +01:00
Folkert
2bccc2d28d
optimize instantiate_rigids_help
2021-11-20 01:26:17 +01:00
Folkert
497bc2db02
make instantiate_rigids_help use a loop/stack
2021-11-20 00:24:46 +01:00
Folkert
eb9bb12725
bumpalo type_to_var
2021-11-19 19:48:51 +01:00
Folkert
2810c1fc52
clean up instantiate_rigids
2021-11-19 17:51:05 +01:00
Folkert
206c8889df
Use StorageSubs for pending specializations
2021-11-19 13:22:17 +01:00
Folkert de Vries
a4fc813ca3
Merge pull request #2002 from rtfeldman/builtins-list-intersperse
...
Add builtin `List.intersperse`
2021-11-18 22:00:10 +01:00
satotake
ce8a88416d
Merge branch 'trunk' into builtins-list-intersperse
2021-11-18 11:16:27 +00:00
Folkert
0199c00936
Merge remote-tracking branch 'origin/trunk' into deep-copy-var-to
2021-11-17 22:34:46 +01:00
Folkert
65e0866d0a
add assert; a returned copy must always be in the target subs
2021-11-17 16:32:20 +01:00
Folkert
237d8d1c0b
fix the Default instance for subs
...
we later rely on some variables always existing (numbers, empty record, empty tag union)
but the default instance did not insert those
2021-11-17 16:29:16 +01:00
satotake
16fb04b4fa
Add builtin List.intersperse
2021-11-17 15:18:45 +00:00
Folkert
849510c42c
WIP
2021-11-16 23:55:11 +01:00
Folkert
7c4300a7a1
clarify what pending means
2021-11-15 22:43:32 +01:00
Folkert
db081cd84b
WIP
2021-11-15 20:12:48 +01:00
satotake
73dda714de
Add builtin List.split
2021-11-15 13:50:11 +00:00
Folkert de Vries
b3a663a741
Merge branch 'trunk' into builtins-list-sublist
2021-11-10 16:28:58 +01:00
satotake
c0a362dc1a
fix solve_expr test
2021-11-10 14:32:22 +00:00
satotake
9f5d3f521b
Implement List.sublist
2021-11-10 13:16:57 +00:00
Michael Downey
07cd3850d7
Merge branch 'trunk' into str_trim_left
2021-11-09 19:43:26 -05:00
Michael Downey
eeab43ba13
fixing line for cargo fmt
2021-11-09 15:02:16 -05:00
Michael Downey
1f74fd6856
fixing formatting and adding str_trim_left back to solve_expr
2021-11-09 14:57:35 -05:00