Feb 21, 2023 20:11
Как настоящий хаскелист, решил я в кои-то веки написать факториал. Но не простой, а с Data.IORef. И обнаружил, что не тут-то было:
import Data.IORef
facM n = do
accRef <- newIORef 1
nRef <- newIORef n
let go = do {
acc <- readIORef accRef;
n <- readIORef nRef;
writeIORef accRef (acc * n);
writeIORef nRef (n - 1);
if (n > 2) then go else readIORef accRef
}
go
И тут 3 вопроса: 1. Можно ли как-то в ЖЖ писать код теперь? 2. Можно ли как-то избавиться от этих точек с запятой и фигурных скобочек? 3. Как выглядит идиоматический мутабельный цикл на х-е?
теги
не работают в новом едиторе
все пидарасы а я,
programming,
functional programming,
до чего техника дошла