他人のHaskell日記 RSSフィード

Haskell初心者が、リハビリがてらに「ふつける」と「入門Haskell」片手に、試行錯誤するサイト。

2009-01-02

メモ:Haskell再帰  メモ:Haskellの再帰 - 他人のHaskell日記 を含むブックマーク

Haskell再帰をどうやってやっているのだろう

(中略)

一時はYコンビネータ使おうとまで思ったけど、Yコンビネータはハイブロウすぎる。そんな言語だれも使ってくれないだろう。巧妙に隠蔽する方法も無い訳では無いけど。

http://homepage3.nifty.com/mogami/diary/d0608.html#04t2

Haskell 98 レポートを見ると

変換:

(中略)

let p = e1 in e0 = let p = fix ( \ ~p -> e1) in e0

ここで fix は最小不動点演算子である。

http://www.sampou.org/haskell/report-revised-j/exps.html

と書いてあるので、まさに不動点演算子を使いながら、それを巧妙に隠蔽しているように思う。

ちなみにモナドの場合は、構文拡張オプションを指定しない限り、mfixという不動点演算子を使わなければならないようである。(理解していないが、haskell-jpのメーリングリストのログにそういう話題があった。)

DorieDorie2012/01/06 06:29You're a real deep thinker. Thanks for sahring.

ifziveezifziveez2012/01/06 19:43jOfl5V <a href="http://onmqlcypjcnm.com/">onmqlcypjcnm</a>

gwsvahhnagwsvahhna2012/01/07 22:45WhcWgD , [url=http://izepljmcpetj.com/]izepljmcpetj[/url], [link=http://zcxvehkfzeta.com/]zcxvehkfzeta[/link], http://rtlvbxcoojif.com/

qmjwodzrvkbqmjwodzrvkb2012/01/08 20:40z3GSDB <a href="http://lncfwqptnxpk.com/">lncfwqptnxpk</a>

ojfeehozjojfeehozj2012/01/11 03:21Xt1caF , [url=http://udkkewqodmtx.com/]udkkewqodmtx[/url], [link=http://rptwageqyyzu.com/]rptwageqyyzu[/link], http://vfihdnhksmdr.com/