Ocaml'deki haskell-like do notasyonu için camlp4 uzantısında çalışıyorum ve GHC'nin yinelemeli do-bindings'i (-XDoRec ile etkinleştirilmiş) nasıl derlediğini anlamaya çalışıyorum. Monadic fixpoint bir
için, örneğin instance MonadFix [] where
mfix f = case fix (f . head) of
[] -> []
(x:_) -> x : mfix (tail . f)
olarak tanımlanır Ama deterministik olmayan hesaplamalar olarak görü