오늘의 진전
fixpoint <- (
fn[A](f: thunk (A -> produce A)): produce A {
g <- produce (thunk (
fn(x: μX. thunk (X -> produce A)): produce A {
ret <- (force unroll x)(x);
(force f)(ret)
}
));
(force g)(roll g)
}
);
fixpoint_ <- fixpoint[Unit];
(force fixpoint_)(thunk (fn(m: _): _ {
`Unit/unit {}
}))
는 이제 타입 검사기를 통과한다!