Ripetere is defined come segue:Perché la ripetizione definita in Preludio così com'è?
repeat :: a -> [a]
repeat x = xs where xs = x:xs
C'è qualche ragione che la segue non viene utilizzato?
repeat :: a -> [a]
repeat x = x : repeat x
(Ovviamente ci sono molte definizioni equivalenti per molte funzioni Prelude, ma la mia ultima descrizione appena si sente molto più evidente. Mi chiedo se c'è una ragione prestazioni o di stile per il modo in cui è.)
[Vedere la mia risposta qui] (http://stackoverflow.com/questions/16632143/why-recursive-let-make-space-effcient/16632403#16632403). La definizione lì usa 'let', ma è lo stesso comportamento con' where'. – hammar