programmingに関するpi8027のブックマーク (70)

  • readの正しい使い方、writeの正しい使い方 - 旧ID:itiriのブログ

    ※2012年5月2日、追記。 下記のコードよりもcopybenchのコードを参考にした方がいいかもしれない。 C言語: write(2)の正しい使い方というページがあったのだが、今は見ることが出来なくなっているので、似たような内容を残しておくことにした。 正しい使い方とはつまり、システムコールは割り込まれて中断することがあるからちゃんとエラーチェックをしましょう、ということだ。 以下に、writeを使用するためのソースコードを転載する。 /* http://www.koders.com/c/fidBA4A85F16684724E234A9F3D52154B6A3EE76852.aspx?s=md5 */ ssize_t full_write(int fd, const void *buf, size_t len) { ssize_t cc; ssize_t total; total = 0

    readの正しい使い方、writeの正しい使い方 - 旧ID:itiriのブログ
  • Reading The Craft of Prolog

    The Craft of Prologを読んでProlog的テクニックを学ぼうという集りがありました。 高等魔術の教理と祭儀 当日つかったスライドです。を読む上で道案内になれば幸いです。 スライドを見ながら、あーだこーだらむだと話していると大体16時過ぎには終わってしまったので、後はかなり自由なトーキングセッションとなってしまい、ハイ、その辺は準備が不十分だったなーと痛感しています。ごめんなさい。 ranhaさんが、式は戻り値ほしーと言ってましたがPrologは記号処理をしたいのであって数値計算をしたいわけじゃないのでソレです。つまり、 ?- X = 1 + 1. X = 1 + 1. ?- X is 1 + 1. X = 2. :- op(500, xfy, +). :- op(500, yfx, -). C is A + B :- prim_add(A, B, C). C is A

  • Haskellコードの高速化

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

  • let rec の型推論と多相型

    忘れてしまわないうちにまとめておきます。 let rec を型推論するときにできるかぎり多相型になるように推論するには、まず変数の依存性グラフを Strongly Connected Components (SCC) に分解することで、より小さい let と let rec のネストに変換を行なってから型推論するということ。また、型シグネチャがすでに付いている式への依存を依存性グラフの辺から取り除くことで、let rec 内を多相型に推論できる可能性を上げることができる。

    let rec の型推論と多相型
  • Coinductive data types | The Agda Wiki

  • Spaghetti Source - 強連結成分分解

  • オーム社eStore

    オーム社eStore(β)の商品について PDF版書籍データ商品、およびPDF版書籍データと紙版書籍のセット販売商品です。 PDF版書籍データは、購入手続き後、購入者の元に届くメールに記載されたURLからダウンロードできます。セット販売商品の紙版書籍は別送されます。 PDF版書籍データは、購入者個人限りで利用できるものです。法人・組織での購入はできません。 購入代金の支払いは、PayPalとなります。PayPalで通常のクレジットカードでの支払も可能です。

    pi8027
    pi8027 2010/11/20
    オライリーに続きオーム社も。プログラミング Haskell と関数プログラミングの楽しみを読みたい。
  • ICFP Programming Contest 2010 優勝 - 純粋関数型雑記帳

    Pure Pure Code ++ Language: C++, Haskell, Python ... are the programming languages of choice for discriminating hackers. 今年のICFP Programming Contestにて優勝しました。(コンテスト中の様子は http://d.hatena.ne.jp/tanakh/20100702#p1 こちらにあります) 一次ソース(http://www.icfpcontest.org/2010/)はまだ来ていませんが、今年のICFP@ボルチモアにて表彰されてきました。こちら(http://twitpic.com/2swi5c)に証拠写真がアップロードされています。 Our Score: 13597.354 Our Solved: 3451 Our Cars: 72 >=5

    ICFP Programming Contest 2010 優勝 - 純粋関数型雑記帳
    pi8027
    pi8027 2010/10/06
    おめでとうございます。
  • d.y.d. 文字コード&ベイズ推定

    12:21 06/05/28 うたひめ 先日の記事に書いたように KOKIA にハマりまして、 とりあえず片っ端から聴いてみることにしました。まずは 1st アルバムの 『songbird』 から … …4曲目の "白い雪" ヤバい。超ヤバい。なんだこれ。ツボすぎる。 ベスト盤を聴いたとき感じた揺らぎなく落ち着いた歌唱力的な曲を期待して聴きはじめたら、 予想外の声質の歌が飛び込んできてびっくりしました。もちろん抜群に巧いのに かわりはないんですが、ずっと儚げな、ガラス細工みたいなイメージの、ああ、その、 つまり白い雪みたいな雰囲気の綺麗な声で。その声と奇跡的にマッチしたメロディ。 すごいなあ。9曲目の "ありがとう…" もベスト盤でのリテイクと比べて同じ印象で、 Amazonのreview で TenderBerry さんという方が近いことを書いておられました。 しかし書いてて自分の語彙の

  • https://www.haskell.org/onlinereport/haskell2010/

  • GitHub - authorNari/minigc: minimum gc

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - authorNari/minigc: minimum gc
    pi8027
    pi8027 2010/06/03
    mark and sweep gc
  • Gauche(Scheme) でデバッグをする4つの方法 - higepon blog

    Gauche でコードを書いているときにコードが意図どおりに動かないことがあります。そのような場合にデバッグする方法を4つ紹介します。 前提 まず Gauche はリリースされている最新版を使った方が良いでしょう。Linuxのディストリビューションによってはパッケージが古い場合あります。 またScheme は関数型言語なので、デバッグの単位は関数(手続き)ごとに行うことが多いです。一つ一つの手続きが意図どおり動いているのか?を調べながら進めるのが基になります。 方法1 print デバッグ Gauche には今のところデバッガがありませんから基的には print デバッグがメインとなります。単純な print デバッグから見ていきましょう。 以下のような sum という手続きで print デバッグしてみましょう。 (define (sum n) (if (= n 1) 1 (+ n

    Gauche(Scheme) でデバッグをする4つの方法 - higepon blog
    pi8027
    pi8027 2010/06/03
    これで頭の悪いぼくでも Scheme が書ける!
  • 発表資料 - HaHaHa!

    Haskellers Meeting 2010 Spring で発表したスライドを以下のように公開しました。 もう1つの外界との対話の表現 Another Expression for Interaction with Outside World プログラムコードについてはSanta Claus problem - HaHaHa!をどうぞ

    発表資料 - HaHaHa!
  • Wadler: Monads

    Monads, Arrows, and Idioms Philip Wadler The arrow calculus Sam Lindley, Philip Wadler, and Jeremy Yalloop, Journal of Functional Programming 20(1):51&em;69, 2010. We introduce the arrow calculus, a metalanguage for manipulating Hughes’s arrows with close relations both to Moggi’s metalanguage for monads and to Paterson’s arrow notation. Arrows are classically defined by extending lambda calculus

  • Prelude

    The Prelude: a standard module imported by default into all Haskell modules. For more documentation, see the Haskell 98 Report http://www.haskell.org/onlinereport/.

    pi8027
    pi8027 2010/02/18
  • compiler resume "Garbage Collection"

    情報科学実験II資料 一般教養としてのGarbage Collection 遠藤 1998年 12月 3日 1 What is Garbage Collection? 世の中のプログラミング環境をメモリ管理の方法に注目して 大きく2分すると、(1)手動のメモリ解放を必要とする場合、 (2)自動的なメモリ解放を行なってくれる場合、に分けられる。 C言語やC++, Pascalなどは普通の場合は前者であり、 SchemeやML, Javaなどは後者である。 Cではmalloc関数によってメモリ領域を確保(allocate)したら、使い終った後に free関数によって解放しなければならない。 一方、Schemeでconsやvectorで確保したメモリ領域は、使い終った後 ほうっておいても自動的に解放される。 今回のトピックである、garbage collection(GC)は、 自動メモリ管理方

  • 「最強最速アルゴリズマー養成講座」関連の最新 ニュース・レビュー・解説 記事 まとめ - ITmedia Keywords

    最強最速アルゴリズマー養成講座: そのアルゴリズム、貪欲につき――貪欲法のススメ アルゴリズムの世界において、欲張りであることはときに有利に働くことがあります。今回は、貪欲法と呼ばれるアルゴリズムを紹介しながら、ハードな問題に挑戦してみましょう。このアルゴリズムが使えるかどうかの見極めができるようになれば、あなたの論理的思考力はかなりのレベルなのです。(2010/9/4) 最強最速アルゴリズマー養成講座: 病みつきになる「動的計画法」、その深淵に迫る 数回にわたって動的計画法・メモ化再帰について解説してきましたが、今回は実践編として、ナップサック問題への挑戦を足がかりに、その長所と短所の紹介、理解度チェックシートなどを用意しました。特に、動的計画法について深く掘り下げ、皆さんを動的計画法マスターの道にご案内します。(2010/5/15) 最強最速アルゴリズマー養成講座: アルゴリズマーの登

  • The Typeclassopediaを訳しました, The Typeclassopedia - #3(2009-10-20)

    ■ [Haskell] The Typeclassopediaを訳しました The Monad.ReaderのIssue 13に掲載されたThe Typeclassopediaという記事が、Functor, Monad, Monoid, Applicative, Foldable, Traversable, Arrowといったような型クラスについて良くまとまっていて、そのあたりを知りたい時の取っ掛かりになりそうだったので翻訳してみました。 作者のBrent Yorgeyさんからも許可がいただけたので公開します。翻訳に慣れていないので変な日語(特に専門用語の日語訳はかなり怪しい)があったり、そもそも間違っていたりするかもしれませんので、何か見つけたらコメントを頂けると助かります。 ■ [Haskell] The Typeclassopedia by Brent Yorgey <first

    pi8027
    pi8027 2010/01/15
    The Typeclassopedia 日本語訳
  • http://www.haskell.org/sitewiki/images/8/85/TMR-Issue13.pdf

    pi8027
    pi8027 2010/01/15
    The Typeclassopedia 原文
  • 栄光のグラスゴーHaskellコンパイルシステム利用の手引き バージョン7.8.2

    栄光のグラスゴーHaskellコンパイルシステム利用の手引き バージョン7.8.2 The GHC Team 目次 The Glasgow Haskell Compiler License 1. 参考訳 1. GHCの紹介 1.1. GHCを入手する 1.2. メタ情報: ウェブサイト、メーリングリストなど 1.3. GHCのバグを報告する 1.4. GHCのバージョン番号付け規則 1.5. Release notes for version 7.8.1 1.5.1. Highlights 1.5.2. Full details 1.5.2.1. Language 1.5.2.2. Compiler 1.5.2.3. GHCi 1.5.2.4. Template Haskell 1.5.2.5. Runtime system 1.5.2.6. Build system 1.5.3. Lib