タグ

haskellに関するcubicdaiyaのブックマーク (7)

  • Haskellにかかわるウソホント

    以下ポエム. ホント1. Haskellは純粋関数型言語である せやな ウソ1. 再帰は分かりやすい 今すぐ関数プログラミング 珠玉のアルゴリズムデザインを買え.そして難しさに絶望しろ! 再帰で書かれていてとても分かりやすいはずだろう? 現実問題として, f x y = f (f (g x) y) y のように関数自身の引数に再帰が出現するパターンだと動作理解は難しいと思います. また,ループより再帰が分かりやすいというのもたまに見ますが謎な意見です. ループが限定的な再帰であるならば,用途が限定されてるぶん再帰よりも理解も楽です. ウソ2. IOモナドは素晴らしい まずは心を落ち着けてJavaの検査例外批判を思い出しましょう. f がgを呼び,gがhを呼んでる状況で,メモ化のためにhをIOにしたとします. するとgがIO化し,fもIO化していかざるを得なくなることが多々あります. すると

  • 西尾泰和のブログ: Haskell In Python ver. 0.01

    Haskellのコードを呼び出すための Pythonモジュールを作ってみました。 使い方。 >>> from Haskell import Haskell >>> h = Haskell(""" func = reverse func' x = map (+ x) value = 42 """) >>> h.func <Haskell.HaskellFunc object at 0x0153AC90> >>> range(5) [0, 1, 2, 3, 4] >>> h.func(range(5)) [4, 3, 2, 1, 0] >>> type(_) <type 'list'> >>> func2 = h.get("func'") >>> func2(1, range(5)) [1, 2, 3, 4, 5] >>> h.value <Haskell.HaskellFunc objec

  • Parsec, 高速なコンビネータパーサ

    文書は次に掲げる URL で示される文書の部分的な邦訳です。 http://www.cs.uu.nl/people/daan/download/parsec/parsec.html Parsec, 高速なコンビネータパーサ Daan Leijen University of Utrecht Dept. of Computer Science PO.Box 80.089, 3508 TB Utrecht The Netherlands daan@cs.uu.nl, http://www.cs.uu.nl/~daan Parsec, 高速なコンビネータパーサ Daan Leijen University of Utrecht Dept. of Computer Science PO.Box 80.089, 3508 TB Utrecht The Netherlands daan@

  • All About Monads モナドのすべて

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

  • The Haskell 98 Library Report: List Utilities

    module List ( elemIndex, elemIndices, find, findIndex, findIndices, nub, nubBy, delete, deleteBy, (\\), deleteFirstsBy, union, unionBy, intersect, intersectBy, intersperse, transpose, partition, group, groupBy, inits, tails, isPrefixOf, isSuffixOf, mapAccumL, mapAccumR, sort, sortBy, insert, insertBy, maximumBy, minimumBy, genericLength, genericTake, genericDrop, genericSplitAt, genericIndex, gene

  • Downloads

  • Programming in Haskell

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

  • 1