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
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
4b43e22b5a
Add def name to unbound var error msg
2024-01-15 21:23:29 +01: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
imaqtkatt
f40f7d8854
Remove string adt and constructors if not used
2024-01-15 10:16:03 -03:00
Nicolas Abril
9f39f6c9e3
Merge pull request #105 from HigherOrderCO/bug/sc-331/don-t-prune-hvm-lang-data-definitions-as
...
[sc-331] Don't prune hvm-lang data definitions
2024-01-15 13:39:34 +01: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
734fecf1cf
Make hvmc prune start from entrypoint
2024-01-15 08:04:41 -03:00
imaqtkatt
4cd2cfe51e
Insert ctrs as used
2024-01-15 08:02:53 -03:00
Nicolas Abril
89b0c80673
Update tests for non-optimizing compilation
2024-01-12 21:40:13 +01: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
Nicolas Abril
c5fb8ac3e5
Merge pull request #106 from HigherOrderCO/feature/sc-335/update-string-desugaring
...
[sc-335] Update String desugaring
2024-01-12 16:36:54 +01:00
imaqtkatt
c0c4c7e91f
Update test snaps
2024-01-12 09:36:04 -03:00
imaqtkatt
318c0930b9
Update golden_tests files
2024-01-11 18:31:28 -03:00
FranchuFranchu
fecfff0622
Merge branch 'master' into improve-docs
2024-01-11 15:51:11 -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
a4074e636a
Rename test suite that runs programs
2024-01-10 15:05:23 +01:00
Nicolas Abril
94d85cd345
Rename test suit that runs files
2024-01-10 14:59:05 +01:00
FranchuFranchu
5ebc6993db
Merge remote-tracking branch 'origin/feature/sc-310/make-hvml-adts-with-fields-compatible-with' into improve-docs
2024-01-10 10:51:01 -03:00
FranchuFranchu
cffbc34f76
Merge remote-tracking branch 'origin/master' into improve-docs
2024-01-10 10:47:31 -03:00
Nicolas Abril
cb7de8a18f
Merge pull request #99 from HigherOrderCO/bug/sc-325/fix-documentation-for-string-syntax
...
[sc-325] Fix documentation for string syntax
2024-01-10 14:05:30 +01:00
imaqtkatt
ba843a8131
Fix string doc and change string label to lowercase
2024-01-10 09:57:02 -03:00
LunaAmora
293a060646
Make adts with fields compatible with vectorization
2024-01-10 08:26:35 -04:00
Nicolas Abril
a4627db599
[sc-313] Improve compile-time reduction pass, add inet pruning
2024-01-09 20:11:31 +01: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
882d2abad1
Add normalized string function
2023-12-15 09:55:03 -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
Nicolas Abril
23b8af1806
Update hvml to new hvmc op1 node, remove restriction on pre-reduction
2023-12-08 13:56:26 +01: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
9bbe06acd1
update tests
2023-12-05 08:53:27 -05:00
tjjfvi
bb7fe1d163
refactor term display to avoid unnecessary allocations
2023-12-05 08:48:17 -05:00
tjjfvi
ddd7a13b21
unify net_to_term logic; add linear cli flag
2023-12-05 08:48:14 -05:00
tjjfvi
7e7ff509e4
update tests
2023-12-05 08:47:51 -05:00
tjjfvi
e7b80e4c91
add tagged lambdas
2023-12-05 08:47:09 -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
cff8c3171a
Merge pull request #72 from HigherOrderCO/feature/sc-286/make-matches-and-pattern-matching-defs-share
...
[sc-286] Make matches and defs share same logic
2023-12-01 18:36:21 +01:00
imaqtkatt
3d227ba405
Transform match into rules
2023-12-01 11:39:56 -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
tjjfvi
561d056530
add debug mode
2023-12-01 12:50:10 +01:00
imaqtkatt
0abb1cf145
Merge pull request #69 from HigherOrderCO/bug/sc-284/fix-non-exhaustive-pattern-error-message
...
[sc-284] Fix non exhaustive pattern error message
2023-12-01 08:29:31 -03:00
imaqtkatt
005f11f547
Add not covered cases in error message
2023-11-30 17:14:46 -03:00
LunaAmora
647012136c
Fix native match compilation bug
2023-11-30 11:03:00 -04:00
Nicolas Abril
f602eff909
Merge pull request #65 from HigherOrderCO/feature/sc-282/add-hvml-syntax-for-binary-and-hexadecimal
...
[sc-282] Add hvml syntax for binary and hexadecimal numbers
2023-11-30 14:31:12 +01:00
Nicolas Abril
d5ac567587
Merge remote-tracking branch 'origin/master' into feature/sc-220/add-scott-encoding-transformation
2023-11-30 13:44:38 +01:00
imaqtkatt
d852885ee5
Support underscore in decimals
2023-11-30 09:33:58 -03:00
imaqtkatt
bf3701e194
Add binary and hexadecimal numbers
2023-11-30 09:11:36 -03:00
imaqtkatt
8731178940
Add lte and gte ops
2023-11-29 17:35:06 -03:00
imaqtkatt
656dad5ba9
Add 60 bit numbers support
2023-11-29 16:45:05 -03:00
Nicolas Abril
51655fe5c4
Update for rebase with Num patterns
2023-11-29 19:26:39 +01:00