ズッキーニのプログラミング実験場

プログラミング + アカデミック + 何か面白いこと。 記載されているものは基本的に私が所属する団体とは関係がありません。

   Jul 25

[Haskell]最小不動点

by zuqqhi2 at 2013年7月25日
Pocket

Haskell 最小不動点 を試してみるメモ

import Data.Function

factF f = \n -> if n == 0 then 1 else n * f(n-1)
fact0 = factF undefined
fact1 = factF . factF $ undefined
fact2 = factF . factF . factF $ undefined
fact3 = factF . factF . factF . factF $ undefined
fact = fix factF
$ghci
Prelude>:load fact.hs
*Main> fact0 0
1
*Main> fact0 1
*** Exception: Prelude.undefined
*Main> fact1 0
1
*Main> fact1 1
1
*Main> fact1 2
*** Exception: Prelude.undefined
*Main> fact 100
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000

Related Posts

  • 2013年7月4日 [Haskell]バナナスプリット則 part1 やりたいこと 以下のバナナスプリット則の例を実装したい。 ・(|f|),(|g|)・=(|・f"F(π1),g"F(π2)・|) スクリプト Haskellでfoldrの結果をタプルで出力させるための文法が分からなくて、 Google先生も教えてくれな […]
  • 2014年12月14日 [Haskell][XML][CompleteSuggestionAPI]HaskellでGoogle Complete Suggestion APIのXML形式の戻り値をパースする Target HaskellでGoogle Complete Suggestion APIの結果(XML)をパージングして、候補クエリの配列(の形をした文字列)を取得する。 Environment OSLinux […]
  • 2013年7月7日 [Haskell]PGMファイルを生成する part3 やりたいこと 昨日まででランダムな配列を作成することが出来るようになったから、 出力の形式を整えてPGMファイルを生成する。 プログラム foldrを使ってこんな感じで書いてみた。 実行するとこんな感じの内容のファイルができる。 […]
  • 2013年7月6日 [Haskell]PGMファイルを生成する part2 昨日の続きで HaskellでPGMファイルを生成してみる。 今日は、乱数列を生成してみた。 出力はこんな感じ。 あとは出力形式整えるだけだ!I'll do yesterday's thing. It's making […]
  • 2013年7月13日 [Haskell]画像処理 水平方向のエッジ やりたいこと 水平方向の微分で水平方向のエッジ画像を出力する。 プログラム プログラムはこんな感じ。 結果 入力画像 出力画像 Target Output horizontal edge image. Program […]
  • 2013年7月11日 [Haskell]反転画像の生成 やりたいこと 前回まででPGM形式の画像の出力、読み込みができるようになったから、 今度は画像処理をやってみる。 今回は一番簡単な、反転画像を作る。 プログラム だいたいこんな感じ。 […]
Pocket

You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.