タグ

ブックマーク / www.kotha.net (7)

  • 関数リアクティブプログラミングの実践

    リアクティブプログラミングって何? 時刻によって変化する値を使って計算する x = mouse_position.x y = mouse_position.y sum = x + y printf("(%d, %d); sum=%d", x, y, sum) 入力が変わるたびに再計算 用途: UI、シミュレーションなど Haskell/ML上のリアクティブプログラミング Behavior a: 時刻によって変化する値(中身a型) Event a: 繰り返し発生し得るイベント(a型の値が付属) mousePosition :: Behavior (Int, Int) mouseClick :: Event () コンビネータ mapB :: (a -> b) -> Behavior a -> Behavior b mapE :: (a -> b) -> Event a -> Event b

    masterq
    masterq 2012/11/08
    euphoria
  • GHCiデバッガ

    GHCiは単純な命令的スタイルのデバッガを搭載していて、実行中の計算を停めて変数の値を確かめることができる。このデバッガはGHCiに統合されており、デフォルトで有効になっている。デバッグ機能を使うのにフラグは必要ない。一つ、重要な制限があって、ブレークポイントとステップ実行は解釈実行されているモジュールでしか使えない。コンパイル済みコードはデバッガからは見えない[5]。 このデバッガは以下のものを提供する。 プログラム中の関数定義や式にブレークポイントを設定する能力。その関数が呼ばれたとき、あるいはその式が評価されたとき、GHCiは実行を中断してプロンプトに戻る。そこで、実行を続ける前に、局所変数の値を調べることができる。 ステップ実行ができる。評価器は、簡約をだいたい一回行うごとに実行を一時停止し、局所変数を調べることができるようにする。これはプログラムのあらゆる地点にブレークポイントを

    masterq
    masterq 2012/10/14
    使ったことない。。。損してた。。。。
  • 2.9. .ghciファイル

    masterq
    masterq 2012/09/14
    そうかー、ghci.confなんていうシステムグローバルな設定ファイルがあるのかー
  • GHCのこと

    オブジェクトレイアウト 通常のHaskellの値(代数的データ型および関数)と、未評価の計算を表すサンクは、全てポインタで参照される。ポインタが指す先は通常はヒープ上のオブジェクトだが、静的セクションに置かれていることもある。いずれにしてもレイアウトは同じで、以下の一般形をとる。 オブジェクトの先頭1ワードは静的領域へのポインタ(infoポインタ)で、この値を評価(関数なら適用)するためのコード(entry code)と、このオブジェクトの種類に関する情報を集積したレコードを指している。なお、GHCにおける1ワードはポインタと同じ大きさ、つまり32ビットOSなら32ビット、64ビットOSなら64ビットである。これはIntの精度と同じでもある。 代数的データ型 代数的データ型の評価済みの値では、infoポインタが構築子の種類を表し、その後に構築子の引数を入れるスロットが続く。したがって、N引

    masterq
    masterq 2012/07/02
    ghc内部でのメモリの使い方について、論文やコメンタリ読む前に目を通すとよさげ
  • コンパイル済みプログラムを実行する

    masterq
    masterq 2012/01/06
    バックトレースを取るには-xc。はやくhaskell-platformが新しくならないかなー
  • Haskellコードの高速化

    Haskellで速いコードを書くためのヒントを無秩序に集積したもの。環境としてはGHCを想定する。私は高速化について詳しい訳ではないが、思い付いたことはなんでもかんでも書くように心がけたので、運が良ければ何か役に立つ情報があるかもしれない。 並列処理のパフォーマンスについてはこの文章では触れない。まったく経験がないので。同じ理由で、浮動小数点数を多用した数値計算コードの効率化と、書き換え規則を多用する高水準の最適化も扱わない。 お願い: 文中に間違いや分かりにくい部分があれば指摘いただけると有難いです。また、他に載せた方が良さそうな最適化テクニックや、その他の改善提案があれば教えてください。掲示板またはメールまたはTwitter(@mkotha)までお願いします。 目次 基的なこと 遅延評価の計算量見積もりの方法と、GHCの内部に依存しないテクニック集。入門書を読んだけれども、Haske

  • 「栄光のグラスゴーHaskellコンパイルシステム利用の手引き」について

    これは、GHCのマニュアルであるThe Glorious Glasgow Haskell Compilation System User's Guideの非公式な日語訳です。 翻訳の正確さについては無保証であり、実際あやしいところがいくつかあります。また、内容が最新版を反映していない可能性がかなりあります。バージョン番号に注意してください。 ライセンスは原文のものと同じとします。したがって再配布にあたって訳者の名前を添える必要はありません。 質問、誤りの指摘、およびそれ以外の改善案を歓迎します。掲示板に書きこんで下さい。メールでも構いません。 基的に、誤りの修正や訳語の変更は最新版のみに行い、以前の版に遡っては修正しません。 xmlの原文はgithubにあります。 www.kotha.net バージョン 最新版置き場 7.8.2 7.6.2 7.6.1 7.4.2 7.4.1 7.2.

  • 1