タグ

haskellに関するZoeのブックマーク (6)

  • WWW.SAMPOU.ORG

    Nobsun.github.com : nobsun's pages

    Zoe
    Zoe 2011/10/06
    山下伸夫さんのHP
  • モナド (プログラミング) - Wikipedia

    関数型プログラミングにおいて、モナドはプログラムを構造化するための汎用的な抽象概念である。対応したプログラム言語では、ボイラープレート的なコードでもモナドを使って除去することが可能となる。これはモナドが、特定の形をした計算を表すデータ型と、それに関する生成と合成の2つの手続きを提供することによって実現されている。生成は任意の基型の値をモナドに包んでモナド値を生成する手続きであり、合成はモナド値を返す関数(モナド関数)たちを合成する手続きである。[1] 広い範囲の問題をモナドを使うことで単純化できる。例えば、Maybeモナドを使えば未定義値への対処が簡単になり、Listモナドを使えばリストに入った値を柔軟に扱うことができる。複雑に組み合わさった関数は、モナドを使えば、補助データの管理や制御構造や副作用を除去した簡単なパイプライン構造に置き換えることができる[1][2]。 モナドの概念や用語

    Zoe
    Zoe 2010/02/17
    純粋関数型言語で、I/O等の副作用や順序処理を埋め込む。ライプニッツのと異なる。
  • 第6回 局所的な「状態」を利用するためのStateモナド

    プログラムを書いている中で,多くの式で同じ値を使いまわしていたり,値の変化に一定のパターンが生じていることに気づくかもしれません。こういう時,式に局所的(local,ローカル)な「状態(State)」があれば,プログラムをすっきり書くことができると思うのではないでしょうか? 実際にLispにはsetf(Schemeならset!)という変数の値を書き換える機能があり,OCamlなどのML系の言語には参照型(reference type,リファレンス型)という値の再代入を許す特別な変数を扱う機能があります。 しかし,残念ながらHaskellのように純粋な関数型(purely functional)を標榜している言語には,このような書き換え可能な変数を持つことは基的に許されていません。書き換え可能な変数があると,「状態」の更新が複数個所で共有され,「プログラムを局所的にではなく,大域的(glo

    第6回 局所的な「状態」を利用するためのStateモナド
    Zoe
    Zoe 2010/01/06
    WinHugsのアンインストール
  • Programming in Haskell

    Programming in Haskell ページへようこそ このサイトについて このサイトは、Haskell でプログラミングを楽しむためのサイトです。 現在のところ、WiLiKi というWiKiシステムで運用されています。WiLiKiの使い方は、 WiLiKi:WiLiKi:リファレンスマニュアルを参照してください。 メイリングリスト 「Haskellプログラミングを楽しむための」メーリングリストがあります. MailingListのページをご覧ください. チャット 「Haskellプログラミングを楽しむための」チャット・ルームがいくつか存在します. ChatRoomのページをご覧ください. サイトマップ Introduction Haskell とは Definition 仕様と標準ライブラリ Tutorial チュートリアル やさしいHaskell入門 モナドのすべて なぜ関数プ

    Zoe
    Zoe 2010/01/05
    Haskell日本語
  • Glasgow Haskell Compiler — The Glasgow Haskell Compiler

    Latest News 1 July 2024 GHC 9.6.6 Released! [download] 10 May 2024 GHC 9.10.1 Released! [download] 16 April 2024 GHC 9.6.5 Released! [download] What is GHC? GHC is a state-of-the-art, open source compiler and interactive environment for the functional language Haskell. Highlights: GHC supports the entire Haskell 2010 language plus a wide variety of extensions. GHC has particularly good support for

    Zoe
    Zoe 2010/01/05
    Haskellのコンパイラ
  • Haskell Language

    primes = filterPrime [2..] where filterPrime (p:xs) = p : filterPrime [x | x <- xs, x `mod` p /= 0]

    Zoe
    Zoe 2010/01/04
  • 1