Commit Graph

465 Commits

Author SHA1 Message Date
imaqtkatt
168892ddb7 Don't allow tabs 2024-06-10 10:04:09 -03:00
imaqtkatt
3a023c6928 Update builtins.rs and redefinition error messages for types and objects 2024-06-07 18:57:45 -03:00
imaqtkatt
0d2d2bb01e Improve function redefinition error message 2024-06-07 17:25:23 -03:00
Nicolas Abril
ae5e79c1be Fix readback of numeric operations 2024-06-07 17:59:41 +02:00
imaqtkatt
be7248638d Display lambda bind patterns as lets 2024-06-06 11:35:47 -03:00
imaqtkatt
3a62e01d86 Implement le and ge operators 2024-06-05 17:44:05 -03:00
Nicolas Abril
94cada901d Expand refs in main, don't float combinators in main 2024-06-05 19:02:44 +02:00
Nicolas Abril
b4bf3dede2 Add Tree syntax and builtins 2024-06-05 16:00:43 +02:00
Nicolas Abril
ce4f6c7067 Rename hvm bin option to hvm-bin, add env var with same name 2024-06-03 17:26:39 +02:00
Nicolas Abril
3705094b6d Add unbound refs check 2024-05-31 18:52:22 +02:00
Nicolas Abril
137591f7ae Fix dictionary and rename readback test 2024-05-30 23:37:26 +02:00
Nicolas Abril
6182ac74fa Make monadic blocks lazy by defering execution of continuations with free vars 2024-05-30 23:30:44 +02:00
imaqtkatt
ad34a2165b Implement in-place mapper 2024-05-29 16:51:38 -03:00
NaoEhSavio
01506fd96c replace data with type 2024-05-29 11:59:58 -03:00
Nicolas Abril
7697acd137 Make with clauses take a bind and an argument 2024-05-29 09:57:40 +02:00
imaqtkatt
ea4a79ca6d Change 'do' keyword to 'with' 2024-05-28 16:49:00 -03:00
imaqtkatt
9f7871709a Move huge_tree test to compile_long 2024-05-28 12:25:39 -03:00
imaqtkatt
3316964893 Add compile_long test 2024-05-28 12:01:52 -03:00
imaqtkatt
24b3219016 Implement elif 2024-05-27 08:15:36 -03:00
imaqtkatt
b436232a3f Implement getter generation for map setter keys 2024-05-24 12:22:42 -03:00
imaqtkatt
20a20027d3 Dont allow variable names contain '__' 2024-05-24 10:50:04 -03:00
imaqtkatt
4d303ac99c Fix variable generation for nested map gets 2024-05-24 08:35:44 -03:00
imaqtkatt
af8d6e3e0b Dont allow top level names start with '//' 2024-05-23 14:43:25 -03:00
Nicolas Abril
e700294e1d Add new IO, fix pruning 2024-05-23 19:25:24 +02:00
Nicolas Abril
b0fd8dfb91 Add guide examples to tests 2024-05-22 21:25:31 +02:00
imaqtkatt
d2e4a7a7a6 Add tuple eta test 2024-05-22 16:21:05 -03:00
Nicolas Abril
5c811da531 Update docs, examples, fix scope of fork 2024-05-22 19:48:53 +02:00
imaqtkatt
97f7a40907 Use the same keyword 'type' for adt definitions 2024-05-22 11:51:35 -03:00
imaqtkatt
61c73c68dd Implement to_fun for comprehension 2024-05-21 17:06:51 -03:00
imaqtkatt
c7ba4b1ce7 Add ops test 2024-05-21 12:53:56 -03:00
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
f7a238c58a [sc-663] Add num-scott adt encoding, it a cli opt 2024-05-20 14:47:50 +02:00
imaqtkatt
33756cbd3a Fix comma in superposition parsing 2024-05-20 09:15:58 -03: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
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
a763052c11 [sc-686] Add record types and record type destructuring 2024-05-15 17:53:50 +02:00
imaqtkatt
6b1a5ef9f4 Add eraser expression 2024-05-15 09:33:16 -03:00
Nicolas Abril
e1dd23d96c Update tests to use .bend extension, fix test uite 2024-05-15 00:25:46 +02:00
Nicolas Abril
46ec41141e Merge remote-tracking branch 'origin/main' into feature/sc-678/add-run-c-and-run-cuda-commands-to-bend 2024-05-14 23:38:28 +02:00
Nicolas Abril
f8cfd5bebd [sc-682] Allow branching statements to end with assignment 2024-05-14 23:36:43 +02:00
imaqtkatt
b0fd7a7f71 Add run c and run cuda commands 2024-05-14 17:03:37 -03: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
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
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
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
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
37fe1116d6
re-add test for unused let 2024-04-18 08:59:30 -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
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
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
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
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
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