タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

haskellとprogramming-functionalとmonadに関するkgbuのブックマーク (5)

  • Route 477 - gemcutterの使い方まとめ (2009年秋)

    ■ [haskell] モナドって結局なんなの 社内勉強会でモナドについて発表しました。分かった気がするたびにすぐに手からすりぬけてしまう、それがモナド…! 追記: モナドそのものが何なのかとか考えないほうがいいんじゃないですかね! [Twitter / いーぐるとまとより引用] まさにその通りだと思います(笑)。IOの使い方、Maybeの使い方、Stateの使い方などを押さえておけば、 中がどうなってるかなんて知らなくても大丈夫。 でも、モナドの持つ「なんか秘技がありそうな感じ」が、中を覗いてみたくさせるんですよね。 この、どこまで掘っても自分の知らないことが出てくる感じがHaskellの魅力なのかも。 Haskell の当にすごいところは、「なぜなに」を問いかけることでいつまでもプログラマが成長できるところにある。 [ふぁぼったー / ikegami__より引用] 一問一答 Q. モ

    Route 477 - gemcutterの使い方まとめ (2009年秋)
    kgbu
    kgbu 2009/10/22
    計算とその組み合わせ方を分離する、というデザインパターンという見方は目鱗
  • PPL2009 のみかいにて - keigoiの日記

    マジメな話は省略、主に自分の話だけメモ 飲み会は2日目だけ参加しました。 kinabaさん→id:osiire さん、 「リストの重複を省く関数(多相的)を作るときに Setモジュールが使えない」 OCaml の Set モジュールが多相的に使えない問題。 let uniq xs cmp = let module ASet = Set.Make ( struct type t = 'a (* 'a is unbound *) let compare = cmp end) in ASet.elements (List.fold_right ASet.add xs ASet.empty);; OCaml には scoped type variable がないから駄目なんじゃね? class の 型引数を scoped type variable として使えない? ムリポ class ['a]

    PPL2009 のみかいにて - keigoiの日記
  • セッション型 on Haskell - keigoiの日記

    セッション型は プロトコルを表現する型で, 15年くらい前から π計算の型理論の1つとして研究されてきました(文献リスト(一部)).並行・分散ソフトウェアの普及を鑑みるに,セッション型のような仕組みは次世代の型安全かつ表現力の高いプログラミングのための強力なツールとして役に立つと考えます. しかしその直観的なわかりやすさにも関わらず,セッション型を提供しているプログラミング言語は皆無(おそらく…)です. そこで,今 流行(?)の型レベル計算を駆使して Haskell にセッション型を導入してみました. ダウンロード 晒してみる. まだ α版 full-sessions ダウンロードページへ test.hs を ghci でロードしてください いくつかの関数は 型を見たり runS で走らせたりできます. test.hs の一部で ixdo 記法を使っているので, cabal install

    セッション型 on Haskell - keigoiの日記
  • Haskellの入出力

    参照透過性と遅延評価 純粋遅延関数型言語に入出力を導入する場合には、 参照透過性や遅延評価とどう折り合いをつけるか、 が問題になる。 参照透過性(Referential Transparency) 「参照透過性」の正確な定義は知らない。 けれど、だいたい 「等しいものを別の等しいものに置き換えられて、 置き換えての全体の結果が変わらない」 という性質を「参照透過性」と呼ぶ。 (「代入可能性の原理」とどう違うのかは、よく判らない) なんでこの性質を参照透過性と呼ぶのかも正確な所は判らないけど、 たぶん次のような事が元になっているのでは、と予想している (以下しばらく、題(入出力の話)とは関係ない)。 クワインは「指示と様相」(「論理的観点から」に収録)で、 だいたい次のような事を書いている。 名前(とか項とか)が単に対象を指示するものとして現れている場合を 「純粋に指示的(purely r

    kgbu
    kgbu 2008/06/20
    これだ、これが探していた(欲していた) >>= の説明だ。
  • モナドのすべて Haskell におけるモナドプログラミングの理論と実践に関する包括的ガイド

    モナドのすべて Haskell におけるモナドプログラミングの理論と実践に関する包括的ガイド Version 1.1.0 このチュートリアルは、モナドの概念とその関数プログラミングにおける応用に ついて、初中級の Haskell プログラマにわかりやすく、利用価値があるような 解説をすることを旨としています。読者は Haskell になれていることを前提と しますが、モナドに関する経験は要求していません。このチュートリアルは、多 くの題材をカバーしています。後半のセクションでは、前半の題材をよく理解し ていることを前提とします。順をおって、モナドプログラミングを例示するため のサンプルコードがたくさん用意されています。一読で、すべての題材を吸収し ようというのはお勧めできません。 このチュートリアルは 3 つの部分で構成されています。最初の部分は、 関数プログラミングにおけるモナドの基

  • 1