I have bounced off functional languages over the past few months from F # to Haskell to Scheme (Racket). I never used recursion, but Haskell and its pattern matching really helped me to be less afraid of them. Now when I use Scheme, I seem to be the default recursive method. I'm curious if this suggests just going through "shine ohh!" or if recursion is the main product of schema development.
Side note: I shot for tail recursion whenever I write recursive methods.
, , .
(, SICP) , . , , . ( ) "ooh shiny!" .
, . - , - , map fold.
map
fold
, Racket , , map fold, "", for/list, for/vector for/fold, , . .
for/list
for/vector
for/fold
, , ( " " ). , , , .
, , . - , , , , , , .
. , , , , , , SQL- , .
, , , . , , Scheme fold-right " , , , cons ". , .
fold-right
cons
. Lisp ( ). ( , , ).