MP
Size: a a a
MP
MP
MK
(let [x 1
y (if (! :a)
(! :b)
(! :c))]
(inc y))
(let [x 1]
(letfn [(continue [y]
(inc y))]
[:a (fn [a#]
(if a#
[:b (fn [b#]
(continue b#))]
[:c (fn [c#]
(continue c#))]))]))
:
//github.com/leonoel/cloroutine, которая компилирует код в стейт машину, но возникает проблема с дебагерами, code coverage и т.п. Они просто не работают с тем, что получится после перекомпиляции. OK
MK
n
(def list '("hello" "world" 1))
(defn printList [lst]
(if (> (count lst) 0)
(
(println (first lst))
(printList (rest lst))
)
(println "Finish")
))
(printList list)
n
DL
(def list '("hello" "world" 1))
(defn printList [lst]
(if (> (count lst) 0)
(
(println (first lst))
(printList (rest lst))
)
(println "Finish")
))
(printList list)
DL
DL
DL
n
n
DL
DL
DL
DL
DL
DL
ST
(def list '("hello" "world" 1))
(defn printList [lst]
(if (> (count lst) 0)
(
(println (first lst))
(printList (rest lst))
)
(println "Finish")
))
(printList list)
(defn printList [lst]
(if (> (count lst) 0)
(do
(println (first lst))
(printList (rest lst))))
(println "Finish"))