Commit Graph

529 Commits

Author SHA1 Message Date
Nicolas Abril
f4620bc3f6 Add SHL and SHR 2024-05-21 17:32:13 +02:00
Nicolas Abril
3e9b3c4083 Adapt Bend to new hvm number operation format 2024-05-21 16:23:40 +02:00
Nicolas Abril
e81f990208 Make rules necessarily be in a single block 2024-05-21 09:39:43 +02:00
Nicolas Abril
0e26732c4e Disable check-net-size by default 2024-05-20 17:12:08 +02:00
Nicolas Abril
d62b73ce83 [sc-663] Update tests for rebase 2024-05-20 14:50:49 +02:00
Nicolas Abril
f7a238c58a [sc-663] Add num-scott adt encoding, it a cli opt 2024-05-20 14:47:50 +02:00
imaqtkatt
8d8192127c Update test snapshot 2024-05-20 09:25:10 -03:00
imaqtkatt
e0d1df39e8 Update test snapshot 2024-05-20 09:17:22 -03:00
imaqtkatt
33756cbd3a Fix comma in superposition parsing 2024-05-20 09:15:58 -03:00
Nicolas Abril
22477b1807 Explain dependencies, add to FAQ, improve readback err msg 2024-05-19 14:37:54 +02:00
Nicolas Abril
076415d9ab Increase max net size and make the check optional 2024-05-19 00:29:37 +02:00
Nicolas Abril
1585d2d5bc [sc-699] Require , in list-like things in imp syntax 2024-05-17 18:11:07 +02:00
Nicolas Abril
7043f93293 [sc-697] Update documentation, add use stmts, fix list parser 2024-05-17 12:54:25 +02:00
Nicolas Abril
100cc90aee [sc-692] Add simple readback of tuples 2024-05-17 02:12:50 +02:00
Nicolas Abril
faa6bdb9fc [sc-694] Replace 'go' with 'fork' in 'bend' 2024-05-16 18:14:30 +02:00
Nicolas Abril
08480c40e1 Fix parsing of empty switch 2024-05-16 13:47:28 +02:00
Nicolas Abril
f724bbf541 Add list resugaring on readback 2024-05-15 22:07:58 +02:00
Nicolas Abril
5b4524e4a7 Change comments to # 2024-05-15 21:26:16 +02:00
Nicolas Abril
36cb14e7fd
Merge pull request #312 from HigherOrderCO/feature/sc-690/update-lambda-and-constructor-names
[sc-690] Update lambda and constructor names
2024-05-15 20:44:39 +02:00
imaqtkatt
372ae8a384 Update lambda syntax and built-in constructor names 2024-05-15 15:23:26 -03:00
Nicolas Abril
f8b3787121 [sc-689] Make fold with require explicit state passing 2024-05-15 19:40:12 +02:00
Nicolas Abril
2f7ae6c276 [sc-688] Add string resugaring of readback term 2024-05-15 19:00:20 +02:00
Nicolas Abril
a763052c11 [sc-686] Add record types and record type destructuring 2024-05-15 17:53:50 +02:00
imaqtkatt
d194890495 Fix wrong unbound definitions 2024-05-15 10:42:16 -03:00
imaqtkatt
6b1a5ef9f4 Add eraser expression 2024-05-15 09:33:16 -03:00
Nicolas Abril
3a6c746fd6 [sc-684] Disable forwarding of free vars in ask terms 2024-05-15 12:29:14 +02:00
Nicolas Abril
4f45f392f5 Fix number parsing in imp, require \n after return 2024-05-15 09:13:50 +02:00
Nicolas Abril
0ec0ecd661 Add priority on all multiply recursive calls 2024-05-15 00:57:57 +02:00
Nicolas Abril
e1dd23d96c Update tests to use .bend extension, fix test uite 2024-05-15 00:25:46 +02:00
Nicolas Abril
f8cfd5bebd [sc-682] Allow branching statements to end with assignment 2024-05-14 23:36:43 +02:00
Nicolas Abril
c1a9bf2e41 [sc-682] Make the imp parser indentation based 2024-05-14 17:42:41 +02:00
imaqtkatt
1aaa5ad7be Update tests 2024-05-14 09:33:16 -03:00
imaqtkatt
02b6baaa71 Add unscoped lambdas and improve patterns 2024-05-14 09:00:56 -03:00
Nicolas Abril
b223e34893 [sc-681] Add monadic ask mixed with other terms, complete do syntax in imp 2024-05-13 17:23:20 +02:00
imaqtkatt
204024500c Re add old constructor syntax, adjust cases and lambdas 2024-05-11 15:53:17 -03:00
Nicolas Abril
26e79255bc [sc-669] Allow both syntaxes at the same time 2024-05-11 19:18:24 +02:00
imaqtkatt
89d9728351 Update tests 2024-05-10 17:39:06 -03:00
imaqtkatt
6948e1b3fb Constructors inherit type name 2024-05-10 17:31:16 -03:00
Nicolas Abril
2f8a12bceb [sc-670] Add priority redexes and order dups correctly in compilation 2024-05-10 21:08:29 +02:00
Nicolas Abril
b5e89aa129 [sc-667] Switch to new syntax by default 2024-05-10 13:23:09 +02:00
Nicolas Abril
c67f688a84 Improve mutual recursion err msg and add some colors 2024-05-09 18:32:30 +02:00
Nicolas Abril
da4e2511ce [sc-662] Add fold and bend to bend syntax 2024-05-09 17:42:35 +02:00
Nicolas Abril
1572e123cd [sc-662] Add 'fold' logic and core syntax 2024-05-08 21:16:50 +02:00
imaqtkatt
16fcf89798 Add inference for do notation 2024-05-07 17:07:00 -03:00
Nicolas Abril
cf680f559d [sc-630] Rename the crate to bend and update docs for it 2024-05-07 21:58:06 +02:00
Nicolas Abril
03fcf344f1 [sc-548] Add support for i24 and f24 2024-05-06 14:36:54 +02:00
Nicolas Abril
1313a73aa1 [sc-653] Reorder compiled redexes recursive last 2024-05-02 16:55:26 +02:00
Nicolas Abril
334ad80eee [sc-654] Fix linearize binds before match 2024-05-01 19:09:15 +02:00
Nicolas Abril
cad606671a Improve some error messages, add radixsort example 2024-05-01 16:56:22 +02:00
Nicolas Abril
79e1ee6bad [sc-629] Fix parsing of keywords 2024-04-29 20:49:20 +02:00
Nicolas Abril
1c124e9a83 [sc-609] Update for fixed version of TSPL 2024-04-29 20:31:42 +02:00
Nicolas Abril
c8ce05520a Update tests for hvm32 2024-04-26 22:38:20 +02:00
Nicolas Abril
2cba162ded Update for new hvm32 number syntax 2024-04-24 22:17:49 +02:00
Nicolas Abril
7c9557127f Update for op2 fix 2024-04-22 21:18:52 +02:00
Nicolas Abril
3a80ac0d96 [sc-627] Initial update for hvm32 2024-04-22 19:03:56 +02:00
Nicolas Abril
5e1120c107 [sc-623] Fix eta-reducible match linearization 2024-04-22 13:20:47 +02:00
imaqtkatt
983713f2b5 Implement monadic bind syntax 2024-04-19 13:39:15 -03:00
tjjfvi
87bda56a4d
add tests for vicious circles 2024-04-18 11:45:33 -04:00
tjjfvi
807bf5c826
update tests 2024-04-18 11:45:31 -04:00
tjjfvi
37fe1116d6
re-add test for unused let 2024-04-18 08:59:30 -04:00
tjjfvi
eff2b274e1
support unscoped readback in all pattern-binding terms 2024-04-18 07:28:07 -04:00
tjjfvi
a975f888d4
add erased_side_effect test 2024-04-17 16:54:26 -04:00
tjjfvi
bc13b5d7e2
add 360_no_scope test 2024-04-17 16:47:54 -04:00
tjjfvi
3594414368
refactor: use patterns in more of the ast 2024-04-17 16:45:34 -04:00
imaqtkatt
361410dbeb Change unscoped lambda readback approach 2024-04-16 11:59:33 -03:00
imaqtkatt
57ab78dfcd Change readback vars insertion 2024-04-16 10:38:55 -03:00
imaqtkatt
9dddf7b44e Add scopeless lambdas and variables readback 2024-04-16 09:57:35 -03:00
Nicolas Abril
f1270dacba [sc-608] Update pretty printing 2024-04-15 17:24:08 +02:00
Nicolas Abril
9199e3afaa [sc-608] Make binding mandatory in match, simplify and improve match and linearization 2024-04-15 14:22:37 +02:00
imaqtkatt
b07fb4e6d1 Implement term pretty printing 2024-04-12 11:23:13 -03:00
imaqtkatt
a0ccd7eb26 Add more examples 2024-04-11 14:17:46 -03:00
Nicolas Abril
9db85265c4 [sc-501] Use TSPL for the parser 2024-04-10 20:33:47 +02:00
imaqtkatt
570ad97833 Fix unused definition with scott adt 2024-04-10 10:16:05 -03:00
imaqtkatt
10559b6df7 Change examples test to read from examples directory 2024-04-09 20:24:25 -03:00
imaqtkatt
60e4cc6eb4 Add test on example programs 2024-04-09 15:46:13 -03:00
imaqtkatt
269aae28a8 Implement debug for lazy evaluation 2024-04-08 14:24:12 -03:00
Nicolas Abril
3dc09cf167 [sc-523] Improve cli and error for pre-reduce loop check 2024-04-08 16:27:25 +02:00
Nicolas Abril
28912c9280 [sc-523] Use pre-reduce to check for non-termination in strict mode 2024-04-08 16:27:25 +02:00
imaqtkatt
99021be778 Add use switch desugar test 2024-04-03 17:13:27 -03:00
imaqtkatt
e972fd856f Call apply use pass after unique naming 2024-04-03 17:08:25 -03:00
Nicolas Abril
3b9903c897 [sc-513] Add new match linearization algorithm and with clauses in match terms 2024-04-03 18:10:18 +02:00
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
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
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
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
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
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
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
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