Commit Graph

465 Commits

Author SHA1 Message Date
imaqtkatt
30d7888d23 Update combinators test and improve docs 2024-03-28 19:10:49 -03:00
imaqtkatt
1f273c4fc4 Refactor float combinator logic and implement float iterator 2024-03-28 15:34:42 -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
3ccd408a26 Improve cycle display for merged definitions 2024-03-25 14:21:47 -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
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
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
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
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
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
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
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
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
5870f0d6e5 Remove static arguments compilation 2024-02-29 14:39:30 -03:00
LunaAmora
216175a7f2 Impl clone for Term, remove unecessary clones 2024-02-29 13:19:45 -03: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
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
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
3b32ee6660 WIP add missing CR, null and quote escape sequences 2024-02-23 17:51:29 -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
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
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
71c4a4e4ec Add limit for exhaustiveness errors, and use verbose flag to remove it 2024-02-21 10:54:13 -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
b41abe8edb Refactor error handling 2024-02-20 10:30:40 -03:00
LunaAmora
7dc78cac6f Remove Missing Parenthesis parser error 2024-02-16 10:06:50 -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
222637ab71 [sc-443] Rename builtin constructors 2024-02-12 18:09:40 +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
0ff494397e Move long_name test to compile_file 2024-02-07 13:58:22 -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
LunaAmora
0bcabe93bc Add Term::Invalid for invalid readbacks 2024-02-05 12:53:27 -03:00
imaqtkatt
0a00d27144 Fix list app resugar 2024-02-05 08:12:42 -03: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
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
51dcee3fbd Add lazy mode tests, update normal tests 2024-02-02 13:44:06 -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
d0480aa1be Fix dup tree var names on linearization pass 2024-02-01 21:49:46 -03:00
LunaAmora
eb96960ae9 Add recursive merge test 2024-02-01 12:29:24 -03:00
LunaAmora
27fd28ecd8 Add merge pass to encode_pattern_match golden tests 2024-02-01 11:18:38 -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
imaqtkatt
4409cf0a60 Allow hyphen in variable names 2024-01-30 15:06:21 -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
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
imaqtkatt
cc3dd6d71f Fix unused unscoped lambda error 2024-01-26 16:00:54 -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
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
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
0d7ab8a071 Change dir test names 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
e3002ed1c7 Make extract matches return warnings 2024-01-19 16:03:38 -03: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
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
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
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
LunaAmora
5fefb030d9 Add back eta test 2024-01-16 17:47:17 -03:00
imaqtkatt
2d9f473e56 Impl display for list and add list take test 2024-01-16 16:34:28 -03:00
imaqtkatt
62eb9806a9 Add List syntax 2024-01-16 15:21:49 -03:00
LunaAmora
a95942b8c8 Improve eta-reduction to not apply on all functions 2024-01-16 14:17:33 -03:00
Nicolas Abril
ca987568ca
Merge pull request #118 from HigherOrderCO/feature/sc-196/add-n-tuples-to-hvm-lang
[sc-196] Add n-tuples to hvm-lang
2024-01-16 18:16:33 +01:00
LunaAmora
028996d5cb Fix ref_to_ref removal pass 2024-01-16 11:45:56 -03:00
imaqtkatt
4efa2c8f22 Add ntups syntax sugar 2024-01-16 10:44:01 -03:00
Nicolas Abril
9fa036f35b
Merge pull request #114 from HigherOrderCO/bug/sc-348/declaring-a-string-datatype-causes-miscompilation
[sc-348] Declaring a String datatype causes miscompilation
2024-01-15 21:14:48 +01:00
LunaAmora
1e0ef9d7c3 Update hvmc version, fix pre-reduce 2024-01-15 16:37:52 -03:00
imaqtkatt
ab9e71786e Return error if there is a String data type definition 2024-01-15 14:59:49 -03:00
Nicolas Abril
89b73cdb02
Merge pull request #113 from HigherOrderCO/feature/sc-342/update-match-syntax
[sc-342] Update match syntax
2024-01-15 18:11:28 +01:00
Nicolas Abril
f62f3cc3d4
Merge pull request #110 from HigherOrderCO/bug/sc-341/read-special-characters-in-char
[sc-341] Read special characters in char
2024-01-15 15:51:44 +01:00
imaqtkatt
28312a4a54 Add optional 'or' to match arm 2024-01-15 11:40:34 -03:00
Nicolas Abril
6184db40db
Merge pull request #108 from HigherOrderCO/bug/sc-333/match-desugaring-breaks-when-only-variable
[sc-333] Fix pattern matching encoding for functions with only var args
2024-01-15 13:05:29 +01:00
imaqtkatt
fa0e3bf95c Add chars tests 2024-01-15 09:03:06 -03:00
imaqtkatt
11ff2633aa Fix push all ctr fields to new_pats 2024-01-12 17:22:48 -03:00
imaqtkatt
c1d651aceb Add tup-wildcard in split rule 2024-01-12 17:22:48 -03:00
imaqtkatt
9160d63b98 Add ctr-wildcard in split rule 2024-01-12 17:22:13 -03:00
Nicolas Abril
95a71b31ed [sc-333] Fix pattern matching encoding for functions with only var args 2024-01-12 20:34:22 +01:00
LunaAmora
d5b6acfe13 Update tests 2024-01-12 14:20:24 -04:00
LunaAmora
47a267b001 Fix readback of rules that reconstructs tups/sups 2024-01-12 14:19:14 -04:00
LunaAmora
6dbbac7c77 Fix Num pattern matching encoding 2024-01-12 14:07:15 -04:00
imaqtkatt
318c0930b9 Update golden_tests files 2024-01-11 18:31:28 -03:00
imaqtkatt
ba9ec997e9
Merge pull request #104 from HigherOrderCO/feature/sc-329/allow-specifying-unicode-escape-sequences
[sc-329] Allow specifying unicode escape sequences
2024-01-11 14:24:39 -03:00
imaqtkatt
2b0b837438
Merge pull request #101 from HigherOrderCO/feature/sc-324/improve-syntax-for-tagged-terms
[sc-324] Improve syntax for tagged terms
2024-01-11 13:51:36 -03:00
imaqtkatt
24d14bef86 Add upper unicode escape syntax 2024-01-11 10:37:21 -03:00
imaqtkatt
1fa587400d Support longer and shorter escape sequences 2024-01-11 10:27:04 -03:00
imaqtkatt
f0b86189dd Change dup syntax to match let 2024-01-10 18:08:50 -03:00
Nicolas Abril
a710a2cb6c
Merge pull request #102 from HigherOrderCO/bug/sc-330/exhaustiveness-check-fails-for-some-number
[sc-330] Fix and refactor pattern exhaustiveness check
2024-01-10 21:29:27 +01:00
Nicolas Abril
25998991ae [sc-330] Fix and refactor pattern exhaustiveness check 2024-01-10 20:13:58 +01:00
imaqtkatt
84b1cfbf34 Change dup syntax 2024-01-10 15:33:48 -03:00
imaqtkatt
d9e13286c8 Update tests 2024-01-10 15:33:48 -03:00
LunaAmora
cc441edcbd Make adts with fields compatible with vectorization 2024-01-10 11:09:32 -04:00
LunaAmora
de669f3edc Simplify the generated encoding for pattern matching when args are ignored 2024-01-10 10:47:56 -04:00
Nicolas Abril
f8a7d0ff0c Merge remote-tracking branch 'origin/master' 2024-01-10 15:05:50 +01:00
Nicolas Abril
94d85cd345 Rename test suit that runs files 2024-01-10 14:59:05 +01:00
imaqtkatt
ba843a8131 Fix string doc and change string label to lowercase 2024-01-10 09:57:02 -03:00
LunaAmora
c22aa01009 Add support for matching on any term 2024-01-08 08:02:56 -04:00
imaqtkatt
e5b61e3973 Update tests 2023-12-15 13:44:56 -03:00
imaqtkatt
49ee9d5eea Add string encoding 2023-12-14 14:44:33 -03:00
imaqtkatt
8ab5ea9997 Add string syntax 2023-12-14 10:25:17 -03:00
Nicolas Abril
b7520dc25a
Merge pull request #87 from HigherOrderCO/fix-tuple-defs-calls
Fix tuple defs applications
2023-12-14 12:46:38 +01:00
Nicolas Abril
e293b9a54d [sc-304] Add the test changes 2023-12-13 18:52:32 +01:00
imaqtkatt
3394f35391 Fix tuple defs applications 2023-12-13 14:08:49 -03:00
Nicolas Abril
ea2551cce9 [sc-304] Refactor pattern matching code, change Num pattern representation 2023-12-13 17:34:52 +01:00
imaqtkatt
34c591d297 Fix unbound let free vars 2023-12-13 09:22:15 -03:00
imaqtkatt
3d2b66e5ef Desugar lets into matches 2023-12-12 10:28:09 -03:00
imaqtkatt
2638626505 Add def_tups test 2023-12-12 08:35:20 -03:00
imaqtkatt
870136a907 Implement desugar for lets 2023-12-11 15:01:43 -03:00
Nicolas Abril
97cbbdad21
Merge pull request #80 from HigherOrderCO/add-matching-of-numbers
[sc-272] Add matching of numbers
2023-12-11 15:38:54 +01:00
imaqtkatt
61f0c4a931 Add num_pred test 2023-12-11 11:36:56 -03:00
imaqtkatt
7cc2760441 Implement proper check for num pattern 2023-12-11 11:18:41 -03:00
LunaAmora
c596881683 Adjust example and readme 2023-12-11 09:13:06 -04:00
LunaAmora
82ed3f90e4 Add more examples on example.hvm 2023-12-11 09:13:06 -04:00
imaqtkatt
ef2f2d3790 Adjust num encoding 2023-12-07 15:12:19 -03:00
imaqtkatt
ef519ba259 Fix matching num with vars 2023-12-07 09:54:31 -03:00
Nicolas Abril
e7a6aa7937 [sc-287] Improve prereduction pass, with new optimization level cli option 2023-12-06 19:43:54 +01:00
Nicolas Abril
4443d27768
Merge pull request #77 from HigherOrderCO/feature/sc-271/add-destruction-of-record-types-with-let
[sc-271] Destruction of record types with let expressions
2023-12-05 20:03:44 +01:00
LunaAmora
0c3091231f Add let and match adt tests 2023-12-05 14:50:39 -04:00
tjjfvi
de02fe45f0
update tests 2023-12-05 12:50:23 -05:00
tjjfvi
7e7ff509e4
update tests 2023-12-05 08:47:51 -05:00
imaqtkatt
8367ab9d6c Add tests with unused variables 2023-12-04 16:49:31 -03:00
imaqtkatt
ad73fa9b44 Implement def matching for tuples 2023-12-01 16:42:26 -03:00
Nicolas Abril
6becba819f Add other example sort programs 2023-12-01 14:05:55 +01:00
Nicolas Abril
3223f46d70 Fix argument encoding on leaf case of pattern matching functions 2023-12-01 13:43:41 +01:00
Nicolas Abril
b035012063 Fix non-matching function args and order of new args when encoding 2023-12-01 13:25:44 +01:00
imaqtkatt
005f11f547 Add not covered cases in error message 2023-11-30 17:14:46 -03:00