Changeset 1932

Show
Ignore:
Timestamp:
11/23/07 14:39:31 (14 months ago)
Author:
nishio
Message:

lang/unlambda/impl/in_python: remove Dot and Apply

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/unlambda/impl/in_python/unlambda_oneliner.py

    r1931 r1932  
    2626# Node 
    2727 
    28 Dot = lambda char:lambda c:c( 
    29     lambda X,c:sys.stdout.write(char)or c(X)) 
    30 Apply = lambda nX,nY:lambda c:\ 
    31     lambda:nX(lambda X: 
    32         lambda: 
    33             (X == D_)and( 
    34                 c(lambda Y,c:nY(lambda X:c(lambda X,c:X(Y,c)))) 
    35             )or( 
    36                 nY(lambda Y:lambda:X(Y, c)))) 
     28D_ = lambda c:c(D_) 
     29V=lambda X,c:c(V) 
    3730 
    38 D_ = lambda c:c(D_) 
    39 lambda V=lambda X,c:c(V):V 
    40  
    41 Y = lambda f:((lambda g: f(lambda x: g(g)(x))) 
    42               (lambda g: f(lambda x: g(g)(x)))) 
    43  
    44 p = Y(lambda _parse: lambda iter:{ 
     31parse = (lambda Dot, Apply:(lambda s: (lambda f:((lambda g: f(lambda x: g(g)(x))) 
     32              (lambda g: f(lambda x: g(g)(x)))))(lambda _parse: lambda iter:{ 
    4533        "i": lambda:lambda c:c(lambda X,c:c(X)), 
    4634        "d": lambda:D_, 
     
    6250        ".": lambda: Dot(iter.next()), 
    6351        "`": lambda: Apply(_parse(iter), _parse(iter)), 
    64     }.get(iter.next(), lambda: _parse(iter))()) 
     52    }.get(iter.next(), lambda: _parse(iter))())(list(s).__iter__())))( 
    6553 
    66 parse = lambda s: p(list(s).__iter__()) 
    67  
     54(lambda char:lambda c:c( 
     55    lambda X,c:sys.stdout.write(char)or c(X))), # dot 
     56(lambda nX,nY:lambda c:\ 
     57    lambda:nX(lambda X: 
     58        lambda: 
     59            (X == D_)and( 
     60                c(lambda Y,c:nY(lambda X:c(lambda X,c:X(Y,c)))) 
     61            )or( 
     62                nY(lambda Y:lambda:X(Y, c))))) # apply 
     63) 
    6864 
    6965# Main loop