タグ

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

  • 諸君 私はHaskellが好きだ

    諸君 私はHaskellが好きだ 書き途中。諸氏の協力を乞う。 1. 諸君 私はHaskellが好きだ 諸君 私はHaskellが好きだ 諸君 私はHaskellが大好きだ 遅延評価が好きだ 高階関数が好きだ 再帰的定義が好きだ パターンマッチが好きだ 代数的データ型が好きだ ポリモルフィズムが好きだ 型クラスが好きだ 型推論が好きだ モナドが好きだ 平原で 街道で 塹壕で 草原で 凍土で 砂漠で 海上で 空中で 泥中で 湿原で この地上で行われるありとあらゆるHaskellプログラミングが大好きだ 2. ... ナイーブなプログラムが代数的な変換によって最適化されるのが好きだ 融合変換によって中間データが全て消去されたときなど胸がすくような気持ちだった ... 高速化のために命令的なコードを書くことを強いられるのが好きだ 必死に守るはずだった純粋性が命令的なコードによって汚されていく様は

    ruicc
    ruicc 2012/01/18
    いいねえ。
  • cut-sea

    ruicc
    ruicc 2011/10/05
    (.)を用いたイディオムについて。「要は返り値がちょっと違う版の関数に変換するのだ。」
  • haskell-jp:552

    ruicc
    ruicc 2010/11/10
    同名モジュールを持つパッケージが複数ある場合。-package指定するか、--makeオプションを使う。
  • A Gentle Introduction to Haskell: Arrays

    やさしい Haskell 入門 (バージョン 98) back next top 13  配列 理想的には、関数型言語での配列は単にインデックスから値への関数とみなしま す。しかし、実際のところは、配列要素への効率的なアクセスを確保するために、 これらのアクセス関数の領域の特別な性質の利点を十分活用できることを確認し ておく必要があります。これは、連続した整数からなる整数の有限部分集合の同 型性という性質です。Haskell では、それゆえに、配列を適用演算をする一般的 な関数としては扱わず、サブスクリプト演算を行う抽象データ型として扱います。 関数的配列へのふたつの主要なアプローチは、インクリメンタルな定義とモノリ シックな定義とに識別することができます。インクリメンタルなアプローチの場 合は、与えられたサイズの空の配列を生成する関数と、もうひとつ、配列と、イ ンデックスと、値を引数とし

  • 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 のサブクラスではないこを注意しておきます。こ

    ruicc
    ruicc 2010/09/22
    なるほどNumてOrdのサブクラスじゃないのか。複素数があるから。
  • All About Monads モナドのすべて

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

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

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

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

    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原稿をもとに

  • 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にあります。このレポー トの訂正や変更はすべてそこに反映されるようになっ

  • 1