Saya mulai pemrograman dengan Python, dan saya benar-benar bingung dengan konsep seperti coroutine dan closure.
Sekarang saya pikir saya mengenal mereka pada tingkat yang dangkal, tetapi saya tidak pernah merasakan momen "pencerahan" itu, jadi saya memilih untuk belajar Clojure. Saya membeli buku karya Stuart Halloway dan itu bagus, tetapi ketika saya melihat indeks, tidak ada kata-kata seperti coroutine atau lanjutan. Saya mencari di Google, tetapi tidak ada apa-apa di sana.
Jadi, pertanyaan saya adalah:
Apakah Clojure memiliki kelanjutan atau coroutine untuk melakukan tugas-tugas seperti ping-ponging tanpa stack overflow?
Contoh Python (meskipun Python standar tidak mendukung versi fitur lengkap dari coroutine simetris ini):
def ping():
while 1:
print "ping"
function to switching to pong
def pong():
while 1:
function to switching to ping
print "pong"
sumber