Write decorator which makes function supporting currying.
@curry
def f(a,b,c):
pass
f(a)(b)(c) == f(a,b)(c) == f(a,b,c)
Write decroator applying to another decorator making the latter lazy, so that they are applied just before function is called.
Write your own xrange
implementstion.
Write ireduce
.
Write Sieve of Eratosthenes using lambda, comprehensions, map reduce filter, itertools, etc. so as the whole function is expression.
Make it possible for a user to create infix operators
http://www.haskell.org/haskellwiki/Infix_operator
Implement function topological sorting.
Create decorator which allows you to achieve this: http://blog.getprismatic.com/blog/2012/10/1/prismatics-graph-at-strange-loop.html