Haskell: различия между версиями

Строка 129: Строка 129:


<pre>
<pre>
fac n = do cont <- callCC $ \h -> do
fac n = do cont <- callCC $ \h' -> do
                   when (n <= 1) (Cont $ \_ -> 1)
                   when (n <= 1) $ Cont $ const 1
                   h n
                   h' n
           return cont
           return cont
   `runCont` (* (fac $ n - 1));
   `runCont` (* (fac $ n - 1));