Commit Graph

595 Commits

Author SHA1 Message Date
Nicolas Abril
3cc5a7a242 [sc-503] Refactor error passing 2024-03-12 19:26:05 +01:00
imaqtkatt
58ee6c732b Update cycle error message 2024-03-12 13:43:52 -03:00
imaqtkatt
0271739d9f Fix typo 2024-03-12 12:43:13 -03:00
imaqtkatt
4645b3231b Update cycle error message 2024-03-12 12:41:08 -03:00
imaqtkatt
4e7c204697 Add mutual recursion check for strict mode 2024-03-12 10:10:43 -03:00
imaqtkatt
5fd3865f18 [sc-505] Include strict and lazy results 2024-03-08 15:28:43 -03:00
imaqtkatt
482403ae63 Remove commented code 2024-03-07 17:51:29 -03:00
imaqtkatt
52c64b71a7 Show HVM_log output in run_file tests 2024-03-07 17:41:37 -03:00
LunaAmora
518a513707 Update test snap 2024-03-07 14:38:51 -03:00
LunaAmora
6375099cf4 Fix typo, update tests snaps 2024-03-07 14:25:46 -03:00
LunaAmora
b2d783c1d7 Update how warns are displayed, add repeated bind warning 2024-03-07 14:25:46 -03:00
imaqtkatt
12f4806b82
Merge pull request #224 from HigherOrderCO/feature/sc-496/add-cli-tests-for-hvm-lang
[sc-496] Add CLI tests for hvm-lang
2024-03-07 08:26:09 -03:00
Nicolas Abril
3eff3e28cd [sc-489] Use the AST iterators in more places, fixing some bugs 2024-03-06 19:56:20 +01:00
Nicolas Abril
0cc4399e20 Remove unnecessary unstable feature 2024-03-06 18:43:32 +01:00
imaqtkatt
b29ced1bb2 Include cli tests stderr output 2024-03-06 11:54:24 -03:00
imaqtkatt
68882962f3 Add more optargs cli tests 2024-03-06 10:58:53 -03:00
imaqtkatt
831eb07ede Add tests using cli 2024-03-06 09:41:58 -03:00
Nicolas Abril
ecb213e91b [sc-495][sc-494] Update for new hvmc num ops and pre_reduce 2024-03-05 20:37:20 +01:00
Nicolas Abril
319b2464ac
Merge pull request #219 from HigherOrderCO/feature/sc-479/update-encodings-to-make-use-of-hvmc-n-ary
[sc-479] Update encodings to make use of hvmc n-ary nodes. Add n-ary tups/dups
2024-03-04 15:15:10 +01:00
imaqtkatt
cfb054c3d1
Merge pull request #220 from HigherOrderCO/feature/sc-490/remove-restriction-of-types-not-sharing-names
[sc-490] Remove restriction of types not sharing names with constructors
2024-03-04 10:35:52 -03:00
imaqtkatt
e39c66fbbf Add duplicated data with defname test 2024-03-04 10:29:57 -03:00
imaqtkatt
a179e1042f Allow constructors share names with data types 2024-03-04 09:05:32 -03:00
Nicolas Abril
68afe6afa3 Add crlf test 2024-03-02 00:39:31 +01:00
Nicolas Abril
c85d01a817 Merge remote-tracking branch 'origin/main' into feature/sc-479/update-encodings-to-make-use-of-hvmc-n-ary 2024-03-01 22:11:22 +01:00
Nicolas Abril
54af9f1a5b Merge remote-tracking branch 'origin/main' into feature/sc-479/update-encodings-to-make-use-of-hvmc-n-ary 2024-03-01 22:00:46 +01:00
Nicolas Abril
b5fd2e2af7 [sc-479] Update encodings for better performance, add n-ary dup/tup 2024-03-01 21:22:10 +01:00
imaqtkatt
8425bf0ae8 Change write macro to writeln 2024-03-01 14:32:14 -03:00
imaqtkatt
2e9b3d3949
Merge pull request #217 from HigherOrderCO/feature/sc-483/add-an-option-to-pass-arguments-to-hvm-lang
[sc-483] Add an option to pass arguments to hvm-lang programs
2024-03-01 11:42:49 -03:00
imaqtkatt
5cf5d24086 Refactor cli arguments 2024-03-01 09:25:56 -03:00
imaqtkatt
5870f0d6e5 Remove static arguments compilation 2024-02-29 14:39:30 -03:00
imaqtkatt
d2ab89fb31 Apply cli arguments at lambda level 2024-02-29 13:38:55 -03:00
imaqtkatt
98bf2f708f Update golden tests file 2024-02-29 13:38:55 -03:00
imaqtkatt
0185d8f0e5 WIP add arguments option 2024-02-29 13:37:36 -03:00
LunaAmora
216175a7f2 Impl clone for Term, remove unecessary clones 2024-02-29 13:19:45 -03:00
tjjfvi
1880c8c8f2 fix test memory sizes 2024-02-29 10:45:26 -05:00
Nicolas Abril
fb8f3fefc7 [sc-441] Fix encoding of string patterns 2024-02-28 13:09:00 +01:00
Nicolas Abril
0fc957ea6e [sc-441] Add string patterns 2024-02-27 21:58:03 +01:00
Nicolas Abril
0c509b4367 [sc-301] Some small improvements on mathing code 2024-02-27 19:35:19 +01:00
Nicolas Abril
5f2d835a77 [sc-441] Add char patterns 2024-02-27 18:16:16 +01:00
Nicolas Abril
39ffe05d72 [sc-301] Add pattern matching on non-zero numbers 2024-02-27 18:16:16 +01:00
LunaAmora
5548cff89b Rename pass, add flag docs 2024-02-27 10:00:02 -03:00
LunaAmora
65fd779598 Revert linearize_extra to an linearize_matches argument 2024-02-26 15:43:04 -03:00
LunaAmora
e903af152f Refactor lift_combinaotors to work with linearize_matches change 2024-02-26 13:42:29 -03:00
LunaAmora
19181598da Make supercombinators work with non-linear match arms 2024-02-26 12:43:01 -03:00
FranchuFranchu
c03b1d233b
Add HVM.print [sc-469] (#206) 2024-02-26 10:01:55 -03:00
imaqtkatt
59239ea822 Add escaped backtick 2024-02-26 08:44:12 -03:00
imaqtkatt
9efd21cdc5 Add single quote normalization 2024-02-26 08:06:18 -03:00
imaqtkatt
3b32ee6660 WIP add missing CR, null and quote escape sequences 2024-02-23 17:51:29 -03:00
imaqtkatt
2fbfa5c3aa Fix pre reduce inert redexes 2024-02-23 15:27:23 -03:00
Nicolas Abril
751af02f49 Add broken black box pre-reduce test 2024-02-23 14:04:00 +01:00
Nicolas Abril
45447b4d51 [sc-403] Change pat-match algorithm, add multi-arg matches 2024-02-22 20:38:00 +01:00
LunaAmora
79ee00125e Fix parser hanging with large generated file 2024-02-22 15:38:14 -03:00
LunaAmora
2667e58b17 Add cargo.lock, remove unused snap 2024-02-22 15:15:19 -03:00
FranchuFranchu
f51e4eb22e Make hvm lang compatible with ptr refactor [sc-362]
Add `HVM.log` and `HVM.black_box`, together with their documentation.

Add basic CLI support for limiting rewrites.

Trimming names and adapting them for hvm-core is not necessary anymore.

Update `pre_reduce`. `pre_reduce` can now reduce unrelated redexes in defs that use builtin defs. This is done by making builtin defs "inert" on pre-reduction, and then adding back their interactions to the reduced net. `pre_reduce_refs` is redundant now and has been removed.

Make `Ctx` and `compile_book` take a mutable borrow of `Book`.

Sister PR: https://github.com/HigherOrderCO/hvm-core/pull/60
2024-02-22 15:00:29 -03:00
imaqtkatt
23d12f8ca6 Add used_once_names test 2024-02-22 10:36:04 -03:00
imaqtkatt
a264cd16bb Change dup name when is used once 2024-02-22 10:31:44 -03:00
Luna
068d25fe10
Merge pull request #197 from HigherOrderCO/chore/sc-450/refactor-error-handling-to-handle-multiple
[sc-450] Refactor error handling
2024-02-21 14:12:53 -03:00
LunaAmora
e69a2c2a79 Add '.' to the end of all errors 2024-02-21 11:59:22 -03:00
LunaAmora
6210455866 Improve ExhaustivenessErr limit hint 2024-02-21 11:40:42 -03:00
LunaAmora
71c4a4e4ec Add limit for exhaustiveness errors, and use verbose flag to remove it 2024-02-21 10:54:13 -03:00
LunaAmora
589d47a5db Merge errors from the same definition 2024-02-21 09:46:03 -03:00
imaqtkatt
9a03279a0c Update str_backtick test 2024-02-21 09:30:16 -03:00
imaqtkatt
7c2a2be24a Add string backtick support 2024-02-21 09:07:14 -03:00
LunaAmora
2171a3ae6d Fix linearize with erased patterns let 2024-02-20 17:01:00 -03:00
LunaAmora
5f5467109f Improve API to return Info instead of String as the error type 2024-02-20 14:39:10 -03:00
LunaAmora
3846d7c75f Improve entrypoint related functions to use the book.entrypoint field 2024-02-20 12:50:10 -03:00
LunaAmora
b41abe8edb Refactor error handling 2024-02-20 10:30:40 -03:00
imaqtkatt
a24772f6f4
Merge pull request #196 from HigherOrderCO/chore/sc-446/separate-the-different-match-expression-transformations
[sc-446] Separate the different match expression transformations
2024-02-20 10:04:50 -03:00
imaqtkatt
d1d874489f Refactor cleanup and update tests 2024-02-19 15:55:52 -03:00
LunaAmora
fe057eab51 Refactor var-use counting when linearizing 2024-02-16 15:31:46 -03:00
LunaAmora
7dc78cac6f Remove Missing Parenthesis parser error 2024-02-16 10:06:50 -03:00
LunaAmora
0776b48781 Revert to using soft_keyword instead of Token::Data 2024-02-16 09:29:03 -03:00
LunaAmora
cfd6e10888 Parser adjustments to accept Data as non-top-level names 2024-02-15 14:48:02 -03:00
LunaAmora
c56693eb23 Fix some parser error diagnostics 2024-02-15 11:54:38 -03:00
imaqtkatt
a9d1d22f3b Add id_undescore test 2024-02-14 08:37:02 -03:00
imaqtkatt
727ad370c9 Fix nam token priority 2024-02-14 08:22:58 -03:00
Nicolas Abril
b2e6d0410e Change Name into Arc<str> 2024-02-13 14:50:30 +01:00
Nicolas Abril
222637ab71 [sc-443] Rename builtin constructors 2024-02-12 18:09:40 +01:00
Nicolas Abril
33344c69db
Merge pull request #189 from HigherOrderCO/chore/sc-440/update-rust-toolchain-version-for-hvml
[sc-440] Update rust toolchain, solve new deprecation warnings
2024-02-12 18:07:29 +01:00
Nicolas Abril
343c38d5ae [sc-440] Apply new clippy lints 2024-02-12 15:23:13 +01:00
imaqtkatt
a57343f85f Refactor rename old match field occurrences 2024-02-12 10:50:21 -03:00
Nicolas Abril
89471c2032 [sc-438] Simplify user vs builtin logic 2024-02-09 18:08:35 +01:00
Nicolas Abril
daf34d3784 [sc-437] Implement fmt::Display for more things 2024-02-09 14:58:18 +01:00
Nicolas Abril
25a6926ab1 [sc-436] Separate adt and builtin resugaring into separate passes 2024-02-09 13:04:45 +01:00
Nicolas Abril
3e9b3d7e58 [sc-410] Add untagged scott encoding option for ADTs 2024-02-09 12:50:59 +01:00
imaqtkatt
e32af0e447 Add tests for custom entrypoint 2024-02-08 16:14:46 -03:00
imaqtkatt
7a38b42645 Add custom entrypoint option 2024-02-08 15:32:04 -03:00
imaqtkatt
999b3d789a Update tests snapshots 2024-02-07 14:02:41 -03:00
imaqtkatt
0ff494397e Move long_name test to compile_file 2024-02-07 13:58:22 -03:00
imaqtkatt
483388d495 Change inline criteria to only small nodes 2024-02-07 13:58:22 -03:00
imaqtkatt
c8ab1b31f6 Minor adjustments and update tests snapshots 2024-02-07 13:55:18 -03:00
Nicolas Abril
b8c25e50df [sc-407] Refactor how names are stored and defs are referenced 2024-02-07 15:52:38 +01:00
LunaAmora
05651707ef Fix escaped char inside strings literals 2024-02-06 08:27:30 -03:00
Luna
422876c503
Merge pull request #176 from HigherOrderCO/feature/sc-433/fix-unreachable-on-invalid-op2-op2-interaction
[sc-433] Add Term::Invalid for invalid readbacks
2024-02-05 14:54:46 -03:00
imaqtkatt
9b7719d7f0 Dont desugar snil in errors 2024-02-05 14:43:27 -03:00
LunaAmora
a492a7f683 Update Term default , update tests 2024-02-05 14:15:53 -03:00
LunaAmora
0bcabe93bc Add Term::Invalid for invalid readbacks 2024-02-05 12:53:27 -03:00
imaqtkatt
38b479d731 Implement simpler resugar for string and list 2024-02-05 11:52:29 -03:00
imaqtkatt
0a00d27144 Fix list app resugar 2024-02-05 08:12:42 -03:00
LunaAmora
6a500bcf1e Revert unlabeled dups/sups being 0 2024-02-02 19:11:20 -03:00
Nicolas Abril
212d1b69e2 [sc-389] Fix flattening with era and num patterns 2024-02-02 20:37:12 +01:00
Nicolas Abril
c8dd3fd5fd [sc-403] Fix rebase and update tests 2024-02-02 20:35:54 +01:00
Nicolas Abril
4800367ddc [sc-389] Fix incorrect unreachable in rule flattening 2024-02-02 20:35:54 +01:00
Nicolas Abril
211ba7d098
Merge pull request #173 from HigherOrderCO/bug/sc-428/constructor-arity-is-not-checked-in-patterns
[sc-428] Constructor arity is not checked in patterns
2024-02-02 20:30:42 +01:00
imaqtkatt
9d382aca54 Update constructor arity error message 2024-02-02 16:19:50 -03:00
imaqtkatt
af732179b8 Add constructor as var name arity test 2024-02-02 16:12:14 -03:00
imaqtkatt
5e858f6024 Add arity check for constructor patterns 2024-02-02 15:51:36 -03:00
LunaAmora
041bec6535 Fix some naming and improve code 2024-02-02 15:36:26 -03:00
LunaAmora
51dcee3fbd Add lazy mode tests, update normal tests 2024-02-02 13:44:06 -03:00
LunaAmora
9c3aa73b75 Fix sup/dup behavior when not using lazy mode 2024-02-02 13:43:14 -03:00
LunaAmora
9be542b0c2 Improve lazy mode diagnostics and usability with the rebase
And update tests
2024-02-02 10:59:44 -03:00
LunaAmora
8771b9ae0e Re-add unlabeled sup/dup compiling to tag 0 2024-02-02 10:58:46 -03:00
LunaAmora
d0480aa1be Fix dup tree var names on linearization pass 2024-02-01 21:49:46 -03:00
imaqtkatt
113ce9738b
Merge pull request #168 from HigherOrderCO/feature/sc-419/show-code-highlight-and-location-on-parse
[sc-419] Show code highlight and location on parse error
2024-02-01 16:21:57 -03:00
LunaAmora
eb96960ae9 Add recursive merge test 2024-02-01 12:29:24 -03:00
LunaAmora
cef06bf71d Fix order of the merge_definitions pass 2024-02-01 12:12:03 -03:00
LunaAmora
27fd28ecd8 Add merge pass to encode_pattern_match golden tests 2024-02-01 11:18:38 -03:00
imaqtkatt
29177fa52d Fix extra slash at end of path 2024-01-31 14:45:58 -03:00
imaqtkatt
6e93dbc316 Add location and highlight on parser errors 2024-01-31 13:50:10 -03:00
LunaAmora
24f64d4c15 Fix merge_definitions stack overflow 2024-01-31 12:57:55 -03:00
LunaAmora
a1a90486c5 Add merge definitions pass 2024-01-31 10:17:10 -03:00
imaqtkatt
1b932afeba
Merge pull request #164 from HigherOrderCO/feature/sc-420/accept-in-variable-names
[sc-420] Accept `-` in variable names
2024-01-31 10:07:28 -03:00
LunaAmora
0a618244c2 Refactor built-ins pruning, update tests 2024-01-31 09:03:42 -03:00
LunaAmora
7208db49fe Refactor builtins adts 2024-01-31 09:03:42 -03:00
LunaAmora
c03d54f1b5 Fix and update tests because of recent pr merges 2024-01-30 15:36:45 -03:00
imaqtkatt
4409cf0a60 Allow hyphen in variable names 2024-01-30 15:06:21 -03:00
Nicolas Abril
958dec51cc
Merge pull request #162 from HigherOrderCO/feature/sc-415/improve-skip-warnings-cli-flag
[sc-415] Improve skip_warnings cli flag
2024-01-30 18:21:54 +01:00
imaqtkatt
a87e2ed8fb Swap hang test results 2024-01-30 12:30:23 -03:00
imaqtkatt
ce885a29fd Add test for hangs directory 2024-01-30 11:57:03 -03:00
imaqtkatt
02435adf44 Refactor warnings 2024-01-30 09:08:06 -03:00
imaqtkatt
4761aabe2e Add cli warnings option 2024-01-29 16:29:39 -03:00
imaqtkatt
54b9d580f9 Add pattern names to ref resolution scope 2024-01-29 08:54:41 -03:00
imaqtkatt
912e20f79f Refactor encoding, add more builtin tests 2024-01-28 15:54:01 -03:00
imaqtkatt
114e971352 Fix used builtin logic 2024-01-28 15:53:39 -03:00
LunaAmora
f3c6431912 Fix function name change and apply cargo fmt 2024-01-27 01:34:20 -03:00
Luna
22a4fb8e06
Merge pull request #151 from HigherOrderCO/chore/sc-400/refactor-adt-resugaring-in-readback
[sc-400] Refactor adt resugaring in readback
2024-01-27 01:20:01 -03:00
LunaAmora
02b5705549 Fix readback of adts and adts matches with wrong tags, improve docs 2024-01-26 17:58:21 -03:00
Nicolas Abril
70ee56860a
Merge pull request #155 from HigherOrderCO/bug/sc-409/unused-unscoped-lambda-in-match-arm-shows
[sc-409] Unused unscoped lambda in match arm shows wrong error
2024-01-26 21:44:42 +01:00
imaqtkatt
cc3dd6d71f Fix unused unscoped lambda error 2024-01-26 16:00:54 -03:00
imaqtkatt
7751430b15 Remove warning on generated functions 2024-01-26 08:09:08 -03:00
imaqtkatt
dad6c8295a Implement unused definition warning
To keep consistency in tests I got to use index based hashing
2024-01-25 17:17:53 -03:00
LunaAmora
a44285702d Refactor net_to_term structure 2024-01-25 12:05:48 -03:00
LunaAmora
0ea97ba87d Simplify and fix resugar_string & resugar_list
Fixes nested mixed adts
Fixes list with vars
2024-01-25 12:05:27 -03:00
Nicolas Abril
074f043e69
Merge pull request #150 from HigherOrderCO/bug/sc-404/fix-string-list-removal-when-only-declared
[sc-404] Fix string/list removal when only declared on match arms
2024-01-25 15:26:08 +01:00
imaqtkatt
0ff4681dd8
Merge pull request #149 from HigherOrderCO/bug/sc-397/should-not-allow-for-str-and-list-ctr-names
[sc-397] Should not allow for str and list Ctr names to be used
2024-01-25 09:30:32 -03:00
imaqtkatt
b75aaead7e Fix typos 2024-01-25 09:16:58 -03:00
LunaAmora
bf07d22654 Fix encode_str & encode_list to look inside match arms patterns 2024-01-24 20:45:47 -03:00
Nicolas Abril
4abe695a5e
Merge pull request #148 from HigherOrderCO/fix-linearization-unscoped
Fix linearization of unscoped vars in adt matches
2024-01-24 21:31:28 +01:00
imaqtkatt
898440d025 Fix test constructor name 2024-01-24 16:47:30 -03:00
imaqtkatt
fa8cdc3941 Add abstraction over builtin adts 2024-01-24 16:47:30 -03:00
Luna
2c15e2c4bf
Merge pull request #147 from HigherOrderCO/feature/sc-323/make-compilation-passes-not-as-conservative
[sc-323] Make compilation passes not as conservative
2024-01-24 16:42:38 -03:00
Nicolas Abril
8f780f1b28 Fix linearization of unscoped vars in adt matches 2024-01-24 19:26:38 +01:00
imaqtkatt
09c5da06dd Fix string result in readback error 2024-01-24 14:40:09 -03:00
LunaAmora
a0db2e5078 Fix check_unbound_vars errors 2024-01-24 14:19:20 -03:00
imaqtkatt
312c3c54b2 Refactor readback display 2024-01-24 14:09:11 -03:00
imaqtkatt
08cd61c069 Implement display logic for readback errors 2024-01-24 11:38:43 -03:00
LunaAmora
59268318fa Implement eta_reduction for uncoped terms 2024-01-24 11:01:00 -03:00
LunaAmora
fb78de9b3b Update unscoped vars errors 2024-01-24 11:00:15 -03:00
Luna
9cd2bac3d0
Merge pull request #142 from HigherOrderCO/bug/sc-387/string-readback-bug
[sc-387] String readback bug
2024-01-24 09:48:05 -03:00
Luna
4607a7e8c6
Merge pull request #140 from HigherOrderCO/bug/sc-340/wrong-intermediate-net-wrong-linearization
[sc-340] Fix unused dup var linearization
2024-01-24 09:45:34 -03:00
Nicolas Abril
abf592f034 [sc-396] Print line num on parse err and only first reason 2024-01-23 22:03:23 +01:00
Nicolas Abril
ff6ed46df3
Merge pull request #144 from HigherOrderCO/feature/sc-395/add-match-with-bind-syntax
[sc-395] Add match with bind syntax
2024-01-23 22:02:16 +01:00
imaqtkatt
646269d998 Update match syntax doc and change match bind test 2024-01-23 16:43:21 -03:00
LunaAmora
d89f4c769f Improve readback of unaplied or invalid strings 2024-01-23 16:28:55 -03:00
imaqtkatt
379414aa36 Return readback error for nested strings 2024-01-23 16:28:23 -03:00
imaqtkatt
4eaa1a6f3a Add match bind syntax 2024-01-23 14:12:43 -03:00
imaqtkatt
20558e7fdf Implement list resugar 2024-01-23 09:57:02 -03:00
LunaAmora
35a85586eb Fix unused dup var linearization 2024-01-22 22:52:02 -03:00
Nicolas Abril
ebd469a4ae
Merge pull request #136 from HigherOrderCO/bug/sc-379/combinators-are-not-extracted-when-just-inside
[sc-379] Extract applications of recursive refs as combinators
2024-01-22 20:32:47 +01:00
LunaAmora
dd47e55123 Improve supercombinators to detach self-contained unscoped terms 2024-01-22 14:49:52 -03:00
Nicolas Abril
0f76255576 [sc-383] Implement flattening with Era pats 2024-01-22 18:00:19 +01:00
Nicolas Abril
3443c442bd [sc-383] Fix pattern matching function encoding when there are unbound vars 2024-01-22 17:19:19 +01:00
LunaAmora
2781fb8db8 Extract applications of recursive refs as combinators 2024-01-22 09:45:50 -03:00
Nicolas Abril
00c5e3cd23
Merge pull request #134 from HigherOrderCO/bug/sc-332/unscoped-lambdas-break-in-match-desugaring
[sc-332] Linearize unscoped vars in adt matches
2024-01-22 12:39:52 +01:00
imaqtkatt
33121afeae Update test snapshots 2024-01-22 08:19:06 -03:00
imaqtkatt
ee41ab3fe2 Delete old test snapshots 2024-01-22 08:17:11 -03:00
imaqtkatt
b73b53045c Update test snapshots 2024-01-22 08:09:41 -03:00
imaqtkatt
0d7ab8a071 Change dir test names 2024-01-22 08:09:41 -03:00
imaqtkatt
69380a3471 Add manual toggle for optimizations 2024-01-22 08:09:41 -03:00
Nicolas Abril
34d24fd7f1 [sc-332] Linearize unscoped vars in adt matches 2024-01-19 20:06:19 +01:00
imaqtkatt
733047c286 Add skip warning opt and show compilation warnings 2024-01-19 16:04:48 -03:00
imaqtkatt
e3002ed1c7 Make extract matches return warnings 2024-01-19 16:03:38 -03:00
Nicolas Abril
542383df16
Merge pull request #133 from HigherOrderCO/feature/sc-359/don-t-allow-main-to-be-called-by-any-functions
[sc-359] Don't allow main to be called by any functions
2024-01-19 19:10:09 +01:00
LunaAmora
28f1de8612 Fix ref_to ref pass, fix ref_to_main & self_ref tests 2024-01-19 14:36:12 -03:00
LunaAmora
2d4693822f Don't allow main to be called by any functions 2024-01-19 11:55:07 -03:00
Nicolas Abril
19b6187671 [sc-332] Separate adt match extraction from num match normalization 2024-01-19 14:59:58 +01:00
LunaAmora
e3869bd687 Revert adt_option_and change 2024-01-19 09:56:36 -03:00
LunaAmora
4bc5ab45f7 Update eta reduction to run on all rule with OptimizationLevel::Heavy 2024-01-19 09:42:26 -03:00
LunaAmora
bfb3bbe7ec Add tests for the eta_reduction pass 2024-01-19 09:42:26 -03:00
LunaAmora
293eaf4a28 Fix assignment of generated field on flattened rule definitions 2024-01-19 09:42:26 -03:00
LunaAmora
7d53a4c77e Fix unused let vars with unscoped lam/vars 2024-01-19 09:11:43 -03:00
Nicolas Abril
0bb9f4b4cf [sc-332] Fix linearization of matches 2024-01-18 20:33:54 +01:00
Nicolas Abril
4e8aece908 [sc-332] Don't extract num matches into separate defs 2024-01-18 19:38:35 +01:00
imaqtkatt
e2d52fb8a9 Fix wrong main skip in pre reduce 2024-01-18 10:28:20 -03:00
imaqtkatt
1909eb26a6 Make supercombinator pass not extract from main 2024-01-18 07:32:16 -03:00
Nicolas Abril
a90a38d0fe
Merge pull request #117 from HigherOrderCO/bug/sc-339/don-t-apply-eta-reduction-on-all-functions
[sc-339] Improve eta-reduction to not apply on all functions
2024-01-17 19:02:21 +01:00
imaqtkatt
c93b313337
Merge pull request #121 from HigherOrderCO/feature/sc-355/add-list-syntax-in-pattern-matching
[sc-355] Add list syntax in pattern matching
2024-01-17 14:48:19 -03:00
Nicolas Abril
f10d4c66c1
Merge pull request #120 from HigherOrderCO/bug/sc-354/hvm-lang-showing-multiple-errors-instead
[sc-354] Improve parsing to not show "multiple errors"
2024-01-17 18:08:21 +01:00
imaqtkatt
89e1f628e4 Add pattern list syntax 2024-01-17 14:04:40 -03:00
LunaAmora
4d48ff994a Improve parsing to not show "multiple errors" 2024-01-17 11:40:18 -03:00