OSDN Git Service

A Python version of the `ii` combinator.
authorSimon Forman <sforman@hushmail.com>
Sun, 28 Nov 2021 00:59:57 +0000 (16:59 -0800)
committerSimon Forman <sforman@hushmail.com>
Sun, 28 Nov 2021 00:59:57 +0000 (16:59 -0800)
joy/library.py

index f85c69e..800ff3b 100644 (file)
@@ -785,6 +785,22 @@ def b(stack, expression, dictionary):
 
 @inscribe
 @FunctionWrapper
+def ii(stack, expression, dictionary):
+    '''
+    ::
+
+           ... a [Q] ii
+        ------------------
+            ... Q a Q
+
+    '''
+    quote, (a, stack) = stack
+    expression = concat(quote, (a, concat(quote, expression)))
+    return stack, expression, dictionary
+
+
+@inscribe
+@FunctionWrapper
 def dupdip(stack, expression, dictionary):
     '''
     ::