I started programming with Python. When using python, concepts like coroutine, closure made me really confusing.
Now I think I know them some superficial level, but I want to get the "enlightement" so, I choose to learn Clojure, the dialect of Lisp. I bought the book of Stuart Halloway and it's good. But when I looked the index of that book, there's no words like coroutine, continuation. I googled it, but there's anything, too.
So, my question is,
Does Clojure have continuation or coroutine (which greenlet or stackless serve) to do the jobs like the Ping-pongs without stack overflow?
Python style (though Python standard does not serve full-feature of this symmetric coroutine):
def ping():
while 1:
print "ping"
function to switching to pong
def pong():
while 1:
function to switching to ping
print "pong"
If not, as for learning the functional concepts, is it better to learn Scheme instead?