H
fn main() {
let shift = |k: fn(i32) -> i32| k(5);
let reset = |x| x + 1;
let ponos = shift(reset);
dbg!(ponos);
}
Size: a a a
H
fn main() {
let shift = |k: fn(i32) -> i32| k(5);
let reset = |x| x + 1;
let ponos = shift(reset);
dbg!(ponos);
}
H
shift
- это просто сокращение от лямбды, а reset
в эту лямбду подаёт другую лямбдуNL
shift
- это просто сокращение от лямбды, а reset
в эту лямбду подаёт другую лямбду
-- shift/reset for the Cont monad
shift :: ((a -> Cont s r) -> Cont r r) -> Cont r a
shift e = Cont $ \k -> e (return . k) `runCont` id
reset :: Cont a a -> Cont r a
reset e = return $ e `runCont` id
B
B
ЕС
CM
ЕС
ЕС
Z
ЕС
NL
ЕС
NL
EG
ЕС
EG
EG
AZ
ЕС