タグ

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

  • 8 外部関数インターフェイス

    Chapter 8 外部関数インターフェイス 外部関数インターフェイス(FFI)には以下の2つ目的がある. (1)他言語の機能へのインターフェイスをHaskellで記述できるようにする. (2)他言語のコードからHaskellのルーチンを利用できるようにする. より一般的に言うならば,FFIはプログラムをHaskellと他言語を混ぜて記述できるようにすることを目指している.これによりアーキテクチャやOSとは独立であるばかりではなく,Haskellと非Haskellシステムの実装をまたぐソースコードの可搬性をサポートする. 8.1 外部言語 HaskellのFFIはいまのところHaskellコードとC呼び出し規約に従う他言語コードとの相互作用についてのみ規定している. しかしながら,FFIは,現在のモジュール定義を拡張してC++JavaのようなC以外の呼び出し規約を持つ言語を含められるよう

  • Trace

    Debug.Trace を使う nobsun(2007/07/04 10:53:31 JST) Haskellでもprintfデバッグのようなことをしたいことがある.このとき Debug.Trace モジュールにある trace という関数が便利である. trace :: String -> a -> a この関数は値としては第二引数をそのまま返す関数なのだが,その値が評価さ れたときにコンソールに第一引数で与えた文字列を表示するというののである. たとえば, add :: Int -> Int -> Int add x y = trace "'add' called" (x + y) と定義して add 1 (2*3) を評価すると *Main> 1 + add 2 (3*4) 'add' called 15 となる. ジョイントにながれるデータを見る Haskellのプログラミングでは

  • http://www.sampou.org/cgi-bin/haskell.cgi?Programming%3A%E7%8E%89%E6%89%8B%E7%AE%B1%3A%E3%83%AA%E3%82%B9%E3%83%88

  • Yesod:ProgrammingEnvironment

  • Yesod:0.8.2to0.9.3

    0.8.2から0.9.3への移行 Migration Guideをざっと見ておく。 1. 今回はGHCのバージョンを6.12.3から7.0.3にupdateする 7.0.*系では7.0.4が最新だけど、Haskell Platformのダウンロードのところで7.0.3でって書かれてるので7.0.3を入れる。 $ wget http://haskell.org/ghc/dist/7.0.3/ghc-7.0.3-x86_64-unknown-linux.tar.bz2 $ ./configure $ make $ sudo make install 2. Haskell Platform 2011.2.0.1をinstall cabal-installをinstallする $ wget http://hackage.haskell.org/packages/archive/cabal-inst

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

  • All About Monads モナドのすべて

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

  • Programming in Haskell

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

  • Memoise

    Memoi[sz]e、Memoi[sz]ation、メモ化の話題 メモ化ってなぁに?関数のメモ化memoise は特殊な ($) かも?Memo モジュール実装を共有する魔法 メモ化ってなぁに? フィボナッチ関数を考えてみよう、定義は fib 0 = 0 fib 1 = 1 fib n = fib (n-1) + fib (n-2) これを使って、fib 7 を計算すると fib 7 -- fib 6 -- fib 5 -- fib 4 -- fib 3 -- fib 2 -- fib 1 -- 1 | | | | | | | | | | | fib 0 -- 0 | | | | | | | | | fib 1 -- 1 | | | | | | | fib 2 -- fib 1 -- 1 | | | | | | | fib 0 -- 0 | | | | | fib 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原稿をもとに

  • 独習 Scheme 三週間 Teach Yourself Scheme in Fixnum Days

    A practical introduction to the programming language Scheme

    joan9
    joan9 2009/04/10
  • 1