init commit again

This commit is contained in:
Peter
2023-11-01 09:29:33 +01:00
parent 448147e7da
commit d6c745207b
250 changed files with 15552 additions and 1 deletions

View File

@@ -0,0 +1,27 @@
general {
funcon-term:
finalise-failing
sequential(
atomic(tuple()),
atomic(print 1),
atomic sequential(print 2,print 3),
interleave(
atomic sequential(print 4,print 5),
print 6),
interleave(
atomic sequential(yield-on-value print 7,print 8),
print 9),
else(
atomic yield-on-abrupt sequential(print 10,fail),
print 11))
;
}
tests {
result-term: null-value;
standard-out: [tuple(), 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
//Also possible:
// standard-out: [................, 6, 4, 5, ...............];
// standard-out: [........................., 7, 9, 8, ......];
// standard-out: [........................., 9, 7, 8, ......];
}

View File

@@ -0,0 +1,19 @@
general {
funcon-term:
sequential(
print choice(1),
choice(print 2, print 3),
choice(print 4, print 5, print 6)
)
;
}
tests {
result-term: null-value;
standard-out: [1, 2, 4];
//Also possible:
// standard-out: [1, 3, 6];
// standard-out: [., 3, .];
// standard-out: [...., 5];
// standard-out: [...., 6];
}

View File

@@ -0,0 +1,16 @@
general {
funcon-term:
sequential(
do-while(print 1,false),
else(
do-while(
sequential(print 2, fail),
sequential(print"ERROR", true)),
print"OK"))
;
}
tests {
result-term: null-value;
standard-out: [1,2,"OK"];
}

View File

@@ -0,0 +1,10 @@
general {
funcon-term:
effect sequential(print 1, 2)
;
}
tests {
result-term: null-value;
standard-out: [1];
}

View File

@@ -0,0 +1,12 @@
general {
funcon-term:
if-true-else(not false,
if-true-else(not true,fail,print"OK"),
fail)
;
}
tests {
result-term: null-value;
standard-out: ["OK"];
}

View File

@@ -0,0 +1,18 @@
general {
funcon-term:
sequential(
print tuple interleave( ),
interleave(print 1),
effect tuple interleave(print 2,print 3),
effect tuple interleave(sequential(print 4,print 5),print 6))
;
}
tests {
result-term: null-value;
standard-out: [tuple(), 1, 2, 3, 4, 5, 6];
//Also possible:
// standard-out: [.........., 3, 2, .......];
// standard-out: [................, 4, 6, 5];
// standard-out: [................, 6, 4, 5];
}

View File

@@ -0,0 +1,18 @@
general {
funcon-term:
sequential(
print tuple left-to-right ( ),
effect left-to-right(print 1),
effect tuple left-to-right(print 2, print 3),
effect tuple left-to-right(print 4, print 5, print 6),
effect integer-add left-to-right(
sequential(print 7, 7),
sequential(print 8, 8))
)
;
}
tests {
result-term: null-value;
standard-out: [tuple(), 1, 2, 3, 4, 5, 6, 7, 8];
}

View File

@@ -0,0 +1,18 @@
general {
funcon-term:
sequential(
print tuple right-to-left ( ),
effect right-to-left(print 1),
effect right-to-left(print 3, print 2),
effect right-to-left(print 6, print 5, print 4),
effect integer-add right-to-left(
sequential(print 8, 8),
sequential(print 7, 7))
)
;
}
tests {
result-term: null-value;
standard-out: [tuple(), 1, 2, 3, 4, 5, 6, 7, 8];
}

View File

@@ -0,0 +1,13 @@
general {
funcon-term:
sequential(
sequential(print 1, print 2),
print sequential(print 3, print 4, 5)
)
;
}
tests {
result-term: null-value;
standard-out: [1, 2, 3, 4, 5];
}

View File

@@ -0,0 +1,16 @@
general {
funcon-term:
sequential(
while(false,sequential(print"ERROR",fail)),
else(
while(
sequential(print 1, true),
sequential(print 2, fail)),
print"OK"))
;
}
tests {
result-term: null-value;
standard-out: [1,2,"OK"];
}