Its the second time now! We found another production issue in our rails app which was because we screwed up our migrations :(
If only we had taken enough more care while writing our migrations....
Indeed, migrations are very powerful ..but needless to say, quite dangerous too if not used the right way.
"In contrasting iteration and recursion, we must be careful not to confuse the notion of a recursive process with the notion of a recursive procedure. When we describe a procedure as recursive, we are referring to the syntactic fact that the procedure definition refers (either directly or indirectly) to the procedure itself. But when we describe a process as following a pattern that is, say, linearly recursive, we are speaking about how the process evolves, not about the syntax of how a procedure is written."
(define (factorial n)
(if (= n 1)
1
(* n (factorial (- n 1)))))
define (factorial n)
(fact-iter 1 1 n))
(define (fact-iter product counter max-count)
(if (> counter max-count)
product
(fact-iter (* counter product)
(+ counter 1)
max-count)))