오늘의 진전

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 {}
}))

는 이제 타입 검사기를 통과한다!

1