Guest User

Untitled

a guest
Apr 20th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.33 KB | None | 0 0
  1. #!/usr/bin/env python2
  2.  
  3. (lambda sys, loop, seq:
  4.     reduce(
  5.         lambda stack, char: {
  6.             '+': lambda stack: [seq(stack[0], lambda (left, head, right): (left, head + 1, right))] + stack[1:],
  7.             '-': lambda stack: [seq(stack[0], lambda (left, head, right): (left, head - 1, right))] + stack[1:],
  8.             '<': lambda stack: [seq(stack[0], lambda (left, head, right): (left[:-1], left[-1], [head]+right))] + stack[1:],
  9.             '>': lambda stack: [seq(stack[0], lambda (left, head, right): (left + [head], (right or [0])[0], right[1:]))] + stack[1:],
  10.             ',': lambda stack: [seq(stack[0], lambda (left, head, right): (left, ord(sys.stdin.read(1) or chr(head)), right))] + stack[1:],
  11.             '.': lambda stack: [seq(stack[0], lambda (left, head, right): (left, sys.stdout.write(chr(head)) or head, right))] + stack[1:],
  12.             '[': lambda stack: [lambda data: data] + stack,
  13.             ']': lambda stack: [seq(stack[1], loop(stack[0]))] + stack[2:]
  14.         }[char](stack),
  15.         filter(lambda c: c in "+-<>[],.", file(sys.argv[1]).read()),
  16.         [lambda data: data]) [0] (([], 0, []))
  17. )(
  18.     __import__("sys"),
  19.     lambda body: lambda data: (lambda hack: map(lambda data: hack.append(body(data)) if data[1] else data, hack)[-1])([data]),
  20.     lambda first, next: lambda data: next(first(data))
  21. )
Add Comment
Please, Sign In to add comment