タグ

ブックマーク / www.sampou.org (12)

  • なぜ関数プログラミングは重要か

    John Hughes, Institutionen för Datavetenskap, Chalmers Tekniska Högskola, 41296 Göteborg, SWEDEN. rjmh@cs.chalmers.se この日語訳は原著者の承諾を得て山下がここに公開するものです。 この訳文についての、御指摘などは山下伸夫(nobsun .at. sampou.org)までおねがい いたします。 翻訳最終更新日 : 2011-09-17 原文 "Why Functional Programming Matters" 日語訳PostScript この論文は1984年以来何年ものあいだChalmers大学のメモとして回覧された。 1989年と1990年に幾分か改訂をしたのが[Hug89]と [Hug90]である。この版はもとのChalmer大学のメモ のnroff原稿をもとに

  • モナドのすべて Haskell におけるモナドプログラミングの理論と実践に関する包括的ガイド

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

  • CategoryTheory:圏論関係リンク集

    圏論関係で役立ちそうなところをがしがしリンク テキストなど 数学テキスト S.マックレーン (著), 三好 博之 (翻訳), 高木 理 (翻訳), 『圏論の基礎』 amazon.co.jp バイブルの日語訳 数学(代数)のバックグラウンドがしっかりある人向け CS向け Steven Awodey, "Categories for Everybody " http://www.andrew.cmu.edu/course/80-413-713/notes/draft/ Andrea Asperti and Giuseppe Longo, "Categories, Types and Structures" http://www.di.ens.fr/users/longo/download.html Rydeheard and Burstall, "Computational Categ

  • A Gentle Introduction to Haskell, Version 98

    Paul Hudak, Yale University John Peterson, Yale University Joseph Fasel, Los Alamos National Laboratory September 28, 1999 翻訳:山下 伸夫 <nobsun@sampou.org> これは、「やさしい Haskell 入門 (バージョン98)」のHTMLバージョンです。 目次要約 イントロダクション 値、型、その他の有用な概念 関数 case 式とパターン照合 型クラスとオーバローディング 再び、型について 入出力 標準の Haskell クラス モナド 数 モジュール 型付けの落し穴 配列 この先の学習 参考文献 目次 このHaskell Tutorialのマスター文書は、 haskell.orgにあります。このレポー トの訂正や変更はすべてそこに反映されるようになっ

  • IPSJ: Haskell Programming

    「連載: Haskellプログラミング」のプログラム $Date: 2006/06/09 15:06:12 $ 記事は情報処理学会のページ http://www.ipsj.or.jp/magazine/promenade.html で見ることができます.

  • All About Monads モナドのすべて

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

  • The Haskell 98 Language Report

    Simon Peyton Jones [editor], Microsoft Research, Cambridge Lennart Augustsson, Sandburst Corporation Dave Barton, Intermetrics Brian Boutel, Victoria University of Wellington Warren Burton, Simon Fraser University Joseph Fasel, Los Alamos National Laboratory Kevin Hammond, University of St. Andrews Ralf Hinze, University of Bonn Paul Hudak, Yale University John Hughes, Chalmers University of Techn

  • Haskell 98 Syntax

    (上付文字で書かれた)優先順位のインデックスがついた非終端記号のグルー プがいくつかある。同様に非終端記号 op、varop および conop には二つのインデックスがつくことがある。文字 l, r または n はそれぞれ、左結合性優先度、 右結合性優先度、非結合性優先度をあらわしています。優先度変数 i の範囲は、0 から 9 で、結合性変数 a のとりうる範囲は {l, r, n} である。したがって、たとえば、

  • The Haskell 98 Report: Standard Prelude

    The Haskell 98 Report top | back | next | contents | function index 8  標準プレリュード この章では Haskell プレリュード全体を示す。これはプレリュードの仕 様を構成するものである。おおくの定義は効率よりも明確であることを 旨に書かれており、ここに示されたように仕様が実装されることを要求して いるわけではない。 class 宣言で与えられたデフォルトメソッドの定義は、デフォルト メソッドのみの仕様を構成しているにすぎない。すべてのインスタ ンスのメソッドの意味の仕様を構成しているわけではない。一つ例をあげる ならば、クラス Enum の enumFrom に対するデフォルト メソッドは、Int の範囲を超えるような型については正しく動作し ない(なぜなら fromEnum はそのような型のすべての値を別々の In

  • The State monad

    動機 純粋な関数型言語では値をその場で更新することはできません。それが 参照透明性を破壊するからです。このような状態をもつ(stateful)計算 をシミュレートするのによく使うイディオムは、一連の関数を通して、 状態パラメータを「一に繋ぐ」ことです。 data MyType = MT Int Bool Char Int deriving Show makeRandomValue :: StdGen -> (MyType, StdGen) makeRandomValue g = let (n,g1) = randomR (1,100) g (b,g2) = random g1 (c,g3) = randomR ('a','z') g2 (m,g4) = randomR (-n,n) g3 in (MT n b c m, g4) このアプローチは上手くいきますが、このようなコードは乱雑で、

  • A Gentle Introduction to Haskell: Numbers

    やさしい Haskell 入門 back next top 10  数 Haskell にはさまざまな数値型があります。これらは Scheme [7] の数値型をもとにしており、 Scheme は Common Lisp [8] をもとにしていま す。(しかし、これらの言語は動的な型付けをおこないます。) 標準の型には、 固定長および任意倍長の整数、それぞれの整数で構成された比(分数)、単精度お よび倍精度の実数、複素数の浮動小数が含まれています。ここでは数値クラス構 造の基的性格の概略を説明します。詳細についてはレポートの §6.3 節を参照してください。 10.1  数値クラスの構造 数値型クラス(クラス Num とその下にあるクラス)は Haskell の標準 クラスの多くを考慮しています。Num は Eq のサブクラスで すが、Ord のサブクラスではないこを注意しておきます。こ

  • http://www.sampou.org/haskell/haskell2010-report-htja/

  • 1