Haskell: различия между версиями
| Строка 130: | Строка 130: | ||
<pre> | <pre> | ||
fac n = do cont <- callCC $ \h -> do | fac n = do cont <- callCC $ \h -> do | ||
when (n <= 1) (Cont $ \_ -> 1) | |||
h n | |||
return cont | return cont | ||
`runCont` (* (fac $ n - 1)); | `runCont` (* (fac $ n - 1)); | ||