タグ

haskellに関するagxのブックマーク (24)

  • のんびりHaskell - @IT

    プログラムの実行はどのようにして行われるのか、Linuxカーネルのコードから探る (2017/7/20) C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。最終回は、Linuxカーネルの中では、プログラムの起動時にはどのような処理が行われているのかを探る エンジニアならC言語プログラムの終わりに呼び出されるexit()の中身分かってますよね? (2017/7/13) C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、プログラムの終わりに呼び出されるexit()の中身を探る VBAにおけるFileDial

  • Haskell の "printf" デバグ - Inemuri nezumi diary(2007-05-11)

    _ Haskell の "printf" デバグ StateモナドとかIORefとか使うプログラムだと、実行時中に中身を覗きたくなる。ある人が unsafePerformIO で print するとか言うので、それはちょっと待てと。Haskell がその手のデバグがしにくいので、他の言語に移るというのは、ちょっとだけ待ってほしい。 Haskell には Debug.Trace というモジュールがあって、その中の trace :: String -> a -> a は、IO を気にせずに文字列を標準エラー出力に出せるのですよ。 import "Debug.Trace" main = trace "Good morning" $ print "Hello, world" zsh% runghc TracingHello.hs 1> out.txt 2> err.txt zsh% cat out

  • Inemuri nezumi diary(2007-06-09)

    _ 「はじめてのHaskell」 RubyKaigi2007の初日だから言わせてもらおう。「はじめてのHaskell」が来たと。 タイトルは「はじめての」でもないし、「たのしい」でもない。『初めてのPerl』のようなわくわくする序文はないし、『たのしいRuby』のなかに籠められた情熱も感じられない。このはシンプルな、そう、スカンジナビアデザインを彷彿とさせるスタイルだ。 このは、全ての初心者、そして「Haskellを伝える者」に宛てて書かれた。だから、もし、あなたがプログラミング言語を知らなければ、このを手に取ればいいと思う。よけいな「ジョーシキ」が学習の邪魔をするからね。Haskellの勉強会をするのなら、このを使えばいいと思う。勉強する項目の順序はとても整っていて、例題も豊富。著者のHutton先生のページには、11章までのPowerPointスライドが置いてある。"Power

  • All About Monads モナドのすべて

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

  • 本物のプログラマはHaskellを使う:ITpro

    筆者 shelarcy Haskellは,関数型プログラミングというジャンルに属する言語です。Haskellや関数型プログラミングを題材に物事を見ていくことで,今まで思いもよらなかったような未知の世界を知ることができるでしょう。 プログラミング言語を学ぶという行為には, 言語の基的な文法や考え方を理解する 言語の文化圏で広く使われている考え方に親しんでその言語らしい書き方を習得する 単に言語を使ってできること以上の知恵を学ぶ の3段階があります。この連載では,三つ目の段階を目標に,Haskellプログラミングの世界を一つひとつ丁寧に紹介していきます。 更新は毎月第1水曜日(1月のみ第2水曜日)

    本物のプログラマはHaskellを使う:ITpro
  • 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

  • モナドのすべて - Enjoy Programming

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

    agx
    agx 2006/10/22
  • LL 飲み会で Haskell の洗脳をされる

    山下さんに Haskell の洗脳をされる。 数年前に机を並べてたときには、全然 Haskell を 使う気にならなかったんだけどなあ。 ちょっとしたワンライナーは Ruby とか Perl を使ってたけど、 Haskell を使ってみるかなあ、という気がしてきたよ。 以下、洗脳の要点。 1. 開発環境 弱いと思ってたけど、そんなことはない。 Eclipse のプラグインなんてものもあるらしい。 スウエーデンの大学(Chalmers大学?)では、 Haskell に強力に取り組んでて支援ツールを いっぱい出している。 2. 実行環境 いちいちコンパイルして実行しなきゃいけないんじゃ、 かったるいよな〜、それに速度も遅いんじゃない、 と思ったらそれも誤解。 インタプリタがあるので、Lisp や Python のように 使うことができる。 遅いっていうのも、最近文字列処理とかで、 高速なライブ

    agx
    agx 2006/09/23
    haskellの利点
  • 第1回 関数型プログラミングの世界へようこそ - 本物のプログラマはHaskellを使う:ITpro

    Haskellというプログラミング言語を知っていますか? 全く聞いたことがないという人が多いかもしれません。そういう名前の言語があるのは知っているけど,どんな言語かは知らないという人もいるかもしれませんね。でも最近では,一部の先進的なソフトウエア開発者の間で,一種のブームと言えるほど熱狂的に受け入れられています。 なぜならば,Haskellは様々な優れた特徴を持っているからです。最初に,他の言語にはあまり見られない際だった特長を一つだけ紹介してみましょう。「遅延評価(lazy evaluation,怠惰評価ともいう)」です。 遅延評価とは,与えられた値を必要になるまで評価(計算)しないということです。この性質により,不必要な計算が行われる無駄をなくすことができます。また,「潜在的に無限の大きさを持つデータ構造」といった通常のプログラミング言語では扱いの難しいものを直接扱えるため,より直接的

    第1回 関数型プログラミングの世界へようこそ - 本物のプログラマはHaskellを使う:ITpro
    agx
    agx 2006/08/07
    haskellをはじめるのによい処理系と本の紹介
  • 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にあります。このレポー トの訂正や変更はすべてそこに反映されるようになっ

    agx
    agx 2006/06/10
    これは、「やさしい Haskell 入門 (バージョン98)」のHTMLバージョンです。
  • Haskell のお勉強

    Haskell は関数型プログラミング言語の”標準語”として、1990 年に 誕生 (Haskell 1.0) した比較的新しい言語です。 その後、1999 年に安定した言語定義 Haskell 98 が制定され、 徐々に知名度が高くなっています。 しかし、まとまった日語の解説がほとんど無いので、 簡単な解説記事を書いてみました。 目次 Haskell とは プログラムを動かす 関数を定義する 型 入出力 Haskell で最小二乗法 自前の data と class Monad 探索 種々のデータ構造 Module 詰碁を解く

    agx
    agx 2006/05/20
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

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

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

    檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」
  • プログラム工学VI 講義資料(2002-9-25)

    1 関数型プログラミングとHaskell 代表的なプログラミング言語を,その考え方に基づいて分類すると次のようになる. 命令型プログラミング言語:Pascal, C, Java 論理型プログラミング言語:Prolog 関数型プログラミング言語:Haskell, ML ここで言う「考え方」とは,プログラムの実行過程を,そのプログラミング言語ではどのように理解するか,ということである.たとえば,命令型プログラミング言語のPascalやCでは,プログラムの「状態」を表す「変数」というものが存在し,その変数の内容を変更していく過程が「プログラムの実行」であるとみなされる.また,論理型プログラミング言語のPrologでは,論理式を証明する過程がプログラムの実行とみなされる.そして,この講義のメインテーマである関数型プログラミング言語では,「式」に「関数」を適用して「書き換え」ていく過程をプログラムの

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

    agx
    agx 2006/04/23
    これは、「やさしい Haskell 入門 (バージョン98)」のHTMLバージョンです。
  • Administrative Quarantine

    Your system administrator has blocked your computer or device. Please contact the system administrator.

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

    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, Haskellなど)を勉強しようと思っています。 関数型言語の勉強方法

    関数型言語(プログラミング言語Scheme, Haskellなど)を勉強しようと思っています。 初心者にも関数型言語のメリットや考えかたがスラスラ分かる勉強の材料を教えてください。 言語の習得よりも、関数型言語の考え方の習得に重きを置いています。 例えば - このを読め - このサイトを読め のように、入門から実用レベルまできちんと筋の通ったものをお願いします。 ちなみに 以前Schemeを勉強しましたが末尾再起辺りでなんとなくうやむやになってしまいました。 あと「計算機プログラムの構造と解釈」は僕には難しすぎでした。

  • プログラム工学VI 授業関連資料

    重要:プログラム工学演習VI単位取得について レポート提出状況を更新した.これを見ると分かるが,プログラム高額演習VIの単位取得要件を満たしていない学生が,かなりいる.第3回までのレポート及び口頭試問については,12月20日までに問題点を解消しておかないと単位を取得することはできない. 重要:口頭試問について プログラム工学演習VIでは,第1~3回のレポートについて口頭試問を受けることが必須である.これまでに口頭試問を受けていない学生で,プログラム工学演習VI単位取得の意志がある者については,特別に12月20日に口頭試問を実施するので,必ず出席すること. これを逃すと,口頭試問の機会はない. 来週の演習日が12月21日になっていたのを,12月20日に訂正した. 補講期間中にも演習を行う予定になっていたのを,実施しないことにした. 2002年11月29日 レポート提出状況を更新した. 200

    agx
    agx 2006/04/23
  • プログラム・プロムナード

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

    agx
    agx 2006/04/23
    「情報処理」連載の「プログラム・プロムナード」