aboutsummaryrefslogtreecommitdiff
path: root/sample/hanoi.in
diff options
context:
space:
mode:
authorShinya Sato <shinnya.sato@gmail.com>2022-04-28 21:41:58 +0900
committerShinya Sato <shinnya.sato@gmail.com>2022-04-28 21:41:58 +0900
commiteddac153a064648bee2aef6fb733ab6820bb96c3 (patch)
treec12f212dc501e6053ec034d1a9f4734b8b94b4d2 /sample/hanoi.in
parent1c9344fa14cc018558ec9ebfbf1215a772960b6e (diff)
downloadinpla-eddac153a064648bee2aef6fb733ab6820bb96c3.tar.gz
inpla-eddac153a064648bee2aef6fb733ab6820bb96c3.zip
v0.8.2
Diffstat (limited to 'sample/hanoi.in')
-rw-r--r--sample/hanoi.in11
1 files changed, 6 insertions, 5 deletions
diff --git a/sample/hanoi.in b/sample/hanoi.in
index 3ba6f5c..2801817 100644
--- a/sample/hanoi.in
+++ b/sample/hanoi.in
@@ -2,7 +2,7 @@
// Rules
hanoi(return, source, target, auxiliary) >< (int n)
-| n==0 => return~[], Eps~source, Eps~target, Eps~auxiliary
+| n==0 => return~[], Eraser~source, Eraser~target, Eraser~auxiliary
| _ => source ~ dup(src1, dup(src2, src3)),
target ~ dup(tgt1, dup(tgt2, tgt3)),
auxiliary ~ dup(aux1, aux2),
@@ -14,9 +14,9 @@ hanoi(return, source, target, auxiliary) >< (int n)
dup(a,b)><A => a~A, b~A;
dup(a,b)><B => a~B, b~B;
dup(a,b)><C => a~C, b~C;
-Eps><A =>;
-Eps><B =>;
-Eps><C =>;
+
+// The `Eraser' is defined as a built-in agent for any agents as follows:
+//Eraser >< Alpha(a1, ..., a5) => Eraser~a1, ..., Eraser~a5;
// Net
@@ -26,7 +26,8 @@ result; // should be [(1,A,C),(2,A,B),(1,C,B),(3,A,C),(1,B,A),(2,B,C),(1,A,C)]
// These are also written using abbreviation as follows:
// hanoi(return, source, target, auxiliary) >< (int n)
-// | n==0 => return~[], << Eps(source), << Eps(target), << Eps(auxiliary)
+// | n==0 => return~[],
+// << Eraser(source), << Eraser(target), << Eraser(auxiliary)
// | _ => src1, dup(src2, src3) << dup(source),
// tgt1, dup(tgt2, tgt3) << dup(target),
// aux1, aux2 << dup(auxiliary),