Commit Graph

595 Commits

Author SHA1 Message Date
imaqtkatt
7cae4f5535 Add no optimization tests 2024-04-03 09:35:45 -03:00
imaqtkatt
3635d6da71 Add store fail and load fail tests 2024-04-03 08:28:55 -03:00
imaqtkatt
5ca0186b06 Add tests using HVM.store and HVM.load 2024-04-02 16:30:37 -03:00
imaqtkatt
8ec8fcc9bb Call inline after pre reduce 2024-04-02 12:02:51 -03:00
imaqtkatt
88c9a7d1cf Readd missing cli inline test 2024-04-02 10:14:28 -03:00
imaqtkatt
5f435033b8 Add inlining test for simple node types 2024-04-02 10:00:44 -03:00
imaqtkatt
e9d61dd37a Update desugar inline to compile inline 2024-04-02 08:50:01 -03:00
imaqtkatt
2cf3b8c4ba Remove simplify ref passes and use inet level inlining 2024-04-02 08:43:40 -03:00
imaqtkatt
3126eba2ba Readd oall eta tests 2024-04-01 11:26:53 -03:00
imaqtkatt
b8a9632f5c Use inet level eta reduction pass 2024-04-01 11:24:39 -03:00
Nicolas Abril
d60935d3de [sc-517] Remove snapshots of removed tests 2024-03-29 11:06:22 +01:00
Nicolas Abril
b18df385a2 [sc-517] Update docs, fix not checking fn arity, refactor match def checks 2024-03-29 10:50:16 +01:00
Nicolas Abril
58f1f53a7d [sc-517] Update tests after rebase 2024-03-29 10:50:16 +01:00
Nicolas Abril
7611eaadb0 [sc-517] Use kind2-like pattern matching terms, remove nested lets and adt lets 2024-03-29 10:49:36 +01:00
imaqtkatt
30d7888d23 Update combinators test and improve docs 2024-03-28 19:10:49 -03:00
imaqtkatt
c695bbcf2c Update float children lambda case and docs 2024-03-28 16:59:03 -03:00
imaqtkatt
1f273c4fc4 Refactor float combinator logic and implement float iterator 2024-03-28 15:34:42 -03:00
imaqtkatt
bd8fb66b8c Refactor float combinators 2024-03-28 09:10:10 -03:00
imaqtkatt
ec24ae2a80 Update float combinators doc and combinators test 2024-03-27 16:41:30 -03:00
imaqtkatt
bcbcdc5442 Refactor float combinators and add combinators test 2024-03-27 15:51:59 -03:00
imaqtkatt
b4a79fee1b Add deref loop test and remove unnecessary clone 2024-03-27 11:22:12 -03:00
imaqtkatt
92aa4b3d4a Refactor float combinators to extract unsafe terms 2024-03-27 11:18:37 -03:00
imaqtkatt
4bdf93e5c1 Refactor add merge separator constant 2024-03-25 15:52:34 -03:00
imaqtkatt
3ccd408a26 Improve cycle display for merged definitions 2024-03-25 14:21:47 -03:00
imaqtkatt
175a6f6d5c
Merge pull request #242 from HigherOrderCO/feature/sc-526/improve-deref-loop-warning-in-strict-evaluation
[sc-526] Improve deref loop warning in strict evaluation
2024-03-22 14:32:13 +00:00
imaqtkatt
76d26d61b0 Update tests snapshots 2024-03-22 10:52:09 -03:00
imaqtkatt
a8dc4ac4b8 Remove generated functions from error message 2024-03-22 10:49:20 -03:00
imaqtkatt
ad4f1bba95 Update recursion error message and update docs 2024-03-22 10:21:48 -03:00
imaqtkatt
f97b7c1379 Update recursion error message and update docs 2024-03-22 09:35:44 -03:00
imaqtkatt
e90644d706 Update mutual recursion error message 2024-03-21 20:13:26 -03:00
tjjfvi
b9ef2a0f9d
update snapshots 2024-03-21 08:11:16 -04:00
tjjfvi
d9b5a80c65
upgrade hvmc version 2024-03-21 08:09:01 -04:00
imaqtkatt
a010f4faef Improve mutual recursion error message 2024-03-20 16:50:22 -03:00
imaqtkatt
26da3d3284
Merge pull request #241 from HigherOrderCO/feature/sc-519/add-syntax-sugar-for-nats
[sc-519] Add syntax sugar for Nats
2024-03-19 19:43:02 +00:00
imaqtkatt
3da5db0c01 Change swap_remove to shift_remove 2024-03-19 14:37:30 -03:00
imaqtkatt
6b7cbeb7be Update cspell and add nat resugar test 2024-03-19 13:59:17 -03:00
FranchuFranchu
8dc9ec79fc Remove irrelevant tests. 2024-03-19 10:43:23 -03:00
FranchuFranchu
5690bee2fc Update hvm-lang to make it compatible with hvm-core n-ary nodes. 2024-03-19 10:43:21 -03:00
imaqtkatt
cf69b99e5a Add builtin and syntax sugar for Nats 2024-03-18 16:37:56 -03:00
imaqtkatt
13f08ea26b
Merge pull request #239 from HigherOrderCO/feature/sc-518/add-non-duping-use-expressions
[sc-518] Add non-duping use expressions
2024-03-18 17:56:01 +00:00
FranchuFranchu
45720629a7 Update tests. 2024-03-15 15:58:52 -03:00
imaqtkatt
8cc2e54683 Add use expression 2024-03-15 15:35:41 -03:00
imaqtkatt
148a0e2e03 Change to use substitutions instead of creating let terms 2024-03-14 15:47:13 -03:00
Nicolas Abril
41a526ec0f [sc-504] Fix wrong variable being used on match binds with same name 2024-03-13 17:30:54 +01:00
Nicolas Abril
3ff0a6047e [sc-508] Improve standard test pipeline, apply fmt and clippy suggestions to test 2024-03-12 20:59:30 +01:00
Nicolas Abril
ae5b0b642d [sc-508] Fix hang run test 2024-03-12 20:45:31 +01:00
Nicolas Abril
227b723377
Merge pull request #234 from HigherOrderCO/fix-debug-mode-panic
Remove expand in debug hook
2024-03-12 19:30:33 +00:00
imaqtkatt
85c5c45fb7 Add debug flag cli test 2024-03-12 16:21:44 -03:00
Nicolas Abril
6b5581972e [sc-507] Update generated name of floated combinators 2024-03-12 20:17:05 +01:00
Nicolas Abril
69fc8423cc
Remove unreviewed test snapshot 2024-03-12 19:57:24 +01:00
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