タグ

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

  • グローバル変数が欲しい理由?

    グローバル変数が欲しい理由? グローバル変数が欲しい理由っていうエントリを見まして,忙しかったのでズイブン遅くなっちゃったけど,ちょっと考えてみます. 実はコメントしているnobsunが話をした同僚ってのは私です. で,nobsunは完成したプログラムを公開してこうすればいいんじゃない的なブログを書いてますけど, これでは多分相手はナットクしないんじゃねーかなーと思うわけ. だってグローバル変数を避けて実装すりゃ,そらそうでしょうよって思うだけだもの. そうじゃなくてnobsunをはじめとしてHaskellerがグローバル変数を欲しくならないのか, それとも禁欲的に自分に制約をかけてるだけなのかを示さなきゃならんと思うわけですよ. 確かにグローバル変数が欲しいとか引数に持ち回らなきゃいけないのってイマイチとか, どっかで聞いたようなセリフだよなぁ.(^^;) いや,言いましたよワタシも.

    sshi
    sshi 2009/02/05
    オプションがフィルタプログラムにしか影響しない設計で全ていけてるのがミソか。その設計で実装したいかどうかで感想が二分されそう。オプションの使いどころを把握して局所化した設計にできるか?とも言えるか
  • Programming:玉手箱

    ちょっとしたお題やパズル,クイズなどを集めたものです. リストの長さの比較pos+連続した n 要素のリストのリストGraph の統合木の統合集合の統合xzipリストをグループ化するn 番飛ばし毎にグループに分けるn 個ずつグループ化する 組合せ論的な生成関数リストの二分割の生成順列の生成重複順列の生成組合せの生成重複組合せの生成順列の生成 素因数分解既約分数拡張ユークリッドの互除法 コメントの除去コメント対応read正規表現置換words4ApacheLog文字列の先頭から等しい文字列を抜き出すお約束の末尾再帰版文字列から一致する部分文字列を抽出するCSV自分自身のソースコードをプリントするプログラム文字列 C が文字列 A, B から構成されているか 関数型表上向きにも辿れる木平衡木赤黒木AVL 木データタイプから再帰を分離探索深さ優先探索幅優先探索Graphical Sequence

    sshi
    sshi 2007/10/28
    これはいいhaskellのコード集
  • ICFP2007:execute

    Endo の DNA から RNA を構成するプログラム プログラムの動かしかたDNAデータファイルの準備コンパイル起動ダメダメバージョン(ver.0)コード (execute-0.hs)非効率なアペンドを使わない版 (version 1)コード(execute-1.hs)DNA列のサーチにText.Regexの正規表現ライブラリAPIを使う版 (version 2)コード(execute-2.hs)DNAの表現に ByteString を使う版 (version 3)コード(execute-3.hs)DNAの表現に Seq Char を使う版 (version 4)コード(execute-4.hs) プログラムの動かしかた DNAデータファイルの準備 ダウンロード $ wget http://www.icfpcontest.org/endo.zip 解凍 $ unzip endo.zip

    sshi
    sshi 2007/07/25
  • 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のプログラミングでは

    sshi
    sshi 2007/07/05
    haskellのtraceつかいこなしほう
  • HowTo:QuickCheck

    QuickCheck の使い方を覚えたいなぁ。というわけで、まだこれから。 と、誰かが書いてから一向に文章が増えないので、僕も挑戦しよう。 QuickCheck とは何か。 プログラムの満たすべき「性質」を定義すると、その性質を当に満たしているかどうかを 確認する「テスト」を“自動的に”生成して検査するライブラリ。 QuickCheckのページ QuickCheckのマニュアル マニュアルの日語訳その1、その2 はじめてのQuickCheck 英語が平気な人は、QuickCheck のマニュアルを読んだ方が良い。 import Debug.QuickCheck prop_true x = True where types = x::Int prop_false x = False where types = x::Int prop_head x = x == head [x] wher

    sshi
    sshi 2006/04/21
    quickcheckの体験記
  • 諸君 私はHaskellが好きだ

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

  • Programming in Haskell

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

    sshi
    sshi 2006/03/10
  • Programming:WayToHaskeller

    Haskeller への道 寝がえり勉強よりまず処理系のインストールど・れ・に・し・よ・う・か・なPreludeってなんぞや?ヘルプEmacs を使いたい【ちょっとひとやすみ】「非正格」って? はいはいHello, World! プログラム実行ファイルにしてみようrunhugsやはりブラックボックスなのか?さらに echo.lhs とかねdo しましょあっちゃの世界の引数とこっちゃの世界の引数モナドを遠目に見るcat.lhs とかもみとく【ちょっとひとやすみ】ピュアな怠け者 つかまり立ちリストもモナド?main は関数じゃねーのか?IO a の a と [a] の athunk はどう書くのか?型宣言をみてみよー!型推論より厳しい型宣言の必要性たらいまわし関数続たらいまわしデバッグの手段を知ろう【ちょっとひとやすみ】メイビー? よちよち歩き自分で型をる、るる、類(kind)って?MyEqク

    sshi
    sshi 2006/03/10
  • なぜ関数プログラミングは重要か

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

  • 1