Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ip = get_ipython()
- ip.display_formatter.formatters.keys()
- text_formatter = ip.display_formatter.formatters['text/plain']
- pnum = lambda n: n(lambda x: x + 1)(0)
- def _ppf(arg, p, cycle):
- """
- Pretty print a functions
- """
- if arg.__name__ == '<lambda>':
- try:
- i = pnum(arg)
- if isinstance(i, int):
- arg.__name__ = '_{}'.format(i)
- except:
- pass
- p.text(arg.__name__)
- text_formatter.for_type(type(lambda:1), _ppf);
- I = lambda a: a ; I.__name__ = 'Identity'
- K = lambda a: lambda b: a ; K.__name__ = 'Kestral'
- KI = K(I) ; KI.__name__ = 'Kite'
- B = lambda f: lambda g: lambda a: f(g(a)) ; B.__name__ = 'Bluebird'
- M = lambda f: f(f) ; M.__name__ = 'Mockingbird'
- Th = lambda f: lambda g: g(f) ; Th.__name__ = 'Thrush'
- Y = lambda f: f(M)(f(M)) ; Y.__name__ = 'Y'
- T = lambda x: lambda y: x ; T.__name__ = 'T'
- F = lambda x: lambda y: y ; F.__name__ = 'F'
- NOT = lambda x: x(F)(T)
- OR = lambda x: lambda y: x(x)(y)
- AND = lambda x: lambda y: x(y)(x)
- INC = lambda n: lambda f: B(f)(n(f))
- ADD = lambda n: n(INC)
- MUL = B
- POW = Th
- _0 = lambda f: lambda a: a
- _1 = INC(_0)
- _2 = ADD(_1)(_1)
- _3 = INC(_2)
- _4 = ADD(_3)(_1)
- _5 = ADD(_3)(_2)
- _6 = MUL(_2)(_3)
- _7 = ADD(POW(_2)(_2))(_3)
- _8 = POW(_2)(_3)
- _9 = POW(_3)(_2)
- _10 = INC(_9)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement