Things have kind of run away with me. I've been working in Prolog for the last month or so. I'm not yet sure how to bring it together with the Python code.
31 lines
606 B
Python
31 lines
606 B
Python
from joy.parser import Symbol
|
|
|
|
|
|
def _names():
|
|
n = 0
|
|
while True:
|
|
yield Symbol('a' + str(n))
|
|
n += 1
|
|
|
|
|
|
class InfiniteStack(tuple):
|
|
|
|
names = _names().next
|
|
|
|
def __iter__(self):
|
|
if not self:
|
|
return iter((self.names(), self))
|
|
|
|
|
|
i = InfiniteStack()
|
|
|
|
a, b = i
|
|
|
|
lambda u: (lambda fu, u: fu * fu * u)(
|
|
(lambda u: (lambda fu, u: fu * fu)(
|
|
(lambda u: (lambda fu, u: fu * fu * u)(
|
|
(lambda u: 1)(u), u))(u), u))(u),
|
|
u)
|
|
|
|
lambda u: (lambda fu, u: fu * fu * u)((lambda u: (lambda fu, u: fu * fu)((lambda u: (lambda fu, u: fu * fu * u)((lambda u: 1)(u), u))(u), u))(u), u)
|