Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.66 KB | None | 0 0
  1. import random
  2. import collections
  3.  
  4. # Generic n-ary tree
  5. RoseTree = collections.namedtuple('RoseTree', 'a children')
  6.  
  7. def gen_int():
  8. def _gen_int(rng, size):
  9. return rng.randrange(0, size)
  10.  
  11. return _gen_int
  12.  
  13. def gen_v(g):
  14. def _gen_v(rng, size):
  15. n = rng.randrange(0, size)
  16. return [g(rng, size) for _ in range(n)]
  17. return _gen_v
  18.  
  19. def fmap(f, g):
  20. def _fmap(rng, size):
  21. result = g(rng, size)
  22. return f(result)
  23. return _fmap
  24.  
  25. rng = random.Random()
  26. print gen_int()(rng, 20)
  27.  
  28. v = gen_v(gen_int())
  29.  
  30. print v(rng, 10)
  31.  
  32. print fmap(lambda x: x * 2, v)(rng, 10)
  33.  
  34. even_v = gen_v(fmap(lambda x: x * 2, gen_int()))
  35.  
  36. print even_v(rng, 10)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement