タグ

Haskellに関するkicchomu3のブックマーク (12)

  • λ Calculus - まずは遅延評価から : 404 Blog Not Found

    2008年02月04日07:00 カテゴリLightweight Languages λ Calculus - まずは遅延評価から うーん、まずY Combinatorというのはおじさんたちが悪かったかな。ギター習いたてでいきなりFの音を出すようなもんだから。 Haskell のリストと遅延評価が少し分かった - IT戦記 Y コンビネータって何? - IT戦記 まずは、遅延評価についてきちんとおさらいしておこう。 慌てるな、ループは急に止まらない まずは、以下の式を考えてみる。 (function(a, b, c){ return a ? b : c; })(true, 1, 1+1); 実行してみると、1となるはずだ。しかしここで重要なのはこのことじゃない。後ろの1+1が実行されるかだ。このことはどうやって確認したらよいだろうか。以下のようにしてみればいいはずだ。 var ELSE =

    λ Calculus - まずは遅延評価から : 404 Blog Not Found
  • hacking haskell music

    Livecoding with haskell. This is a terrible old demo, see here for more recent use: http://www.youtube.com/watch?v=1zZfSWjcWAI&feature=share

    hacking haskell music
  • プログラム・プロムナード

    会誌「情報処理」連載の「プログラム・プロムナード」(2002年4月〜2005年3月掲載)と「Haskellプログラミング」(2005年4月〜2006年3月掲載)はどなたでもご覧になれます。ファイルはすべてPDF形式です。 「Haskellプログラミング」に掲載されたプログラムは http://www.sampou.org/haskell/ipsj/ から取ることができます.

  • Programming in Haskell

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

  • モナドのすべて - Enjoy Programming

    モナドのすべてを読んでいきます。 第 I 部:モナドを理解する イントロダクション モナドとは何か なぜモナドを理解しようとするのか モナドに触れる 型構築子 Maybe というモナド 例 リストもモナド 要約 class で使う Haskell の型クラス Monad クラス 例のつづき do 記法 要約 モナド則 三つの基則 失敗は付けたし 出口はない Zero と Plus 要約 練習問題 do 記法 モナド値の合成 List モナドを使う モナドクラス制約を使う Haskell におけるモナドのサポート 標準プレリュードでは Monadクラス 直列化関数 写像関数 逆方向束縛関数 Monad モジュールでは MonadPlus クラス リスト関数のモナド版 foldM filterM zipWithM 条件式のモナド計算 ap およびリフト関数 ap allCombination

  • 『ふつうのHaskellプログラミング』サポートページ

    $Id: index.html,v 1.9 2006/06/01 16:35:13 aamine Exp $ [ 正誤表 | 書誌情報 | 詳細目次 ] [ SBCr | Amazon ] リスト処理・文字列処理の基礎からモナド、パーサコンビネータまで。 ふつうのプログラマに贈る関数型言語入門。 サポート情報 正誤表 GHC 6.4.2 のダウンロード [www.haskell.org] LazyLines のダウンロードとインストール サンプルコード (オンライン) サンプルコードのダウンロード (.zip) サンプルコードのダウンロード (.tar.gz) リファレンスマニュアル検索ツール href 質問や間違いの指摘などはメールで aamine AT loveruby.net (AT は @ に置き換え) までお願いします。 書誌情報 書名

  • Perlの駱駝のこぶにはMonadも入ってる : 404 Blog Not Found

    2006年04月20日00:29 カテゴリLightweight Languages Perlの駱駝のこぶにはMonadも入ってる PerlLambda Calculusが入っているというのは以前何度か紹介した通りだが、実はMonadも入っているのである。そして、皆さんも知らない間に使っているのである。 檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」 「なら、予備知識ゼロでモナドの説明をしてやろうじゃねーか」と。 それでは、世界で一番Monadが簡単に使える言語(0番はPerl6!)での実例をいくつかお見せする。 まずは一番簡単な例から。 use strict; use warnings; package Tie::Verbose; use Tie::Scalar; use base 'Tie::StdScalar'; sub TIESCALAR{ my $

    Perlの駱駝のこぶにはMonadも入ってる : 404 Blog Not Found
  • All About Monads モナドのすべて

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

  • 檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」

    気まぐれと偶然となりゆきで、ここ2,3回はモナドを話題にしました。googleで「モナド」を引いてザッと眺めると、「モナドはむずかしいー」とか「モナドで挫折した」みたいな雰囲気が感じられて、説明芸人の血が少し騒ぎましたね。「なら、予備知識ゼロでモナドの説明をしてやろうじゃねーか」と。 タイトルはだいぶ煽っちゃった…… けど、ハッタリじゃないつもり…… けど、実際はどうかな? ※印刷のときはサイドバーが消えます。 内容: とりあえず、あたりさわりなくモナドの来歴を紹介する こんな課題を考えてみよう:副作用付き計算 カウントアップする関数達 カウントアップしたい意志を戻り値で伝える それでは、いったい誰がカウントアップをするのだ 関数の引数の型をCountup型にまで拡張する そして、これがモナドだ とりあえず、あたりさわりなくモナドの来歴を紹介する 今からここで説明する「モナド(monad)

    檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」
  • なぜ関数プログラミングは重要か

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

  • 思いて学ばざれば則ち殆うし - sumiiのブログ

    あるところに同じようなことを(ほとんど成り行きで)書いたのですが、重要な問題のような気がしてきたので、こっちにも書いてみる。 一般に、関数型言語やプログラミング言語(および計算機科学、ないし任意の専門)についての情報は、 一般書・一般誌、Webやメーリングリストやブログ 教科書・専門書 論文 口頭での議論(学会発表や質疑応答、グループのミーティング、部屋での会話) などで交換されます。 で、一般に情報の「ディープさ」は上から下へ行くほど濃くなると思うのです(少なくとも僕の専門分野ではそう)。そのごく一部である1.だけ(しかも日語onlyで)「勉強」していろいろと議論するのは、(何もしないよりは良いのかもしれませんが)非常に危険です。その危険をちゃんと意識していればno problemですが。「高速道路」の話と同じことかも。 たとえば、日のネット(?)では今になって妙に持ち上げられている

    思いて学ばざれば則ち殆うし - sumiiのブログ
  • たらいを回すならHaskell : 404 Blog Not Found

    2006年04月07日22:09 カテゴリLightweight Languages たらいを回すならHaskell たらい回し関数、またはtakと呼ばれる有名な関数が存在する。 C言語による最新アルゴリズム事典 奥村晴彦 同書をお持ちの方は、185ページに乗っている。 実はこれ、Haskellの売り込みには最高の関数なのだ。 ちなみに、これ最後にyを返すバージョンとzを返すバージョンがあるようで、それぞれtakyとtakzと呼ばれている模様。ここではtakyの方を採用。 まずは、私のnative tongueとも言えるperl。 tak.pl #!/usr/bin/perl use strict; use warnings; sub tak{ my ($x, $y, $z) = @_; ($x <= $y) ? $y : tak(tak($x-1, $y, $z), tak($y-1,

    たらいを回すならHaskell : 404 Blog Not Found
  • 1