2002-04-30
λ. 読書
- 『清村くんと杉子路くんと 4』
- 戸塚理宏[画]
λ. Watcom C/C++/Fortran コンパイラ/アセンブラ
seclanのほえほえルームの4/23で、Watcom C/C++/Fortran コンパイラ/アセンブラ のバイナリが公開されているのを知る。Watcom C/C++ といえば、当時は最適化に定評があったと記憶してるのだけど、どうなのかな。試しにRubyでもコンパイルしてみる?
λ. 外国語論文講読: Types and Programming Languages
こないだ紹介してもらった Types and Programming Languages の5章前半と18章後半の発表資料がある。
2003-04-30
λ. 夕方まで寝ていたりとか、色々ぐだぐだ……
λ. Declarative Pearls?
FLOPS 2004 の案内にこんな事が書いてあったり。比喩ではなく実際にPerlで宣言的なプログラムを……って話だったら嫌すぎ。
- Declarative Pearls
- new and excellent declarative programs with illustrative applications
λ. Re: a11y
いや、まったくです。google://a11yで約五千件以上もヒットしてずいぶん驚きました。
λ. Re: あれ、師匠もでつか
CPLの拡張で何かやってみようかと思って、計算モデルに証明を入れようと春休み中にいろいろ考えてたのですが、まったく見通しがたってなかったり。かといって、今やってるXXXで応募する気にもなれないしなぁ。つーわけで、今回はパスです。ゆっけは何をやろうとしてるのか気になるなぁ……
λ. 理工学者のための C プログラミング入門
この講義は、一般の(つまり情報関係ではない)理工学の学生を対象として、 C 言語の入門に数値・非数値アルゴリズムの入門を加えた内容となっています。 題名をつければ、「理工学者のための C プログラミング入門」といったとこ ろでしょうか。その場ですぐ答えが出せる簡単なクイズを沢山準備することで、 無理なく学習できるように工夫したつもりです。
2003-03-03に言及した union-find の計算量について検索してて発見。面白い。
ψ はら [CPL ってどんなものですか?(今頃^^;)簡単なサンプルプログラムを見せていただけません?]
ψ さかい [CPLのRubyによる実装をRAAに登録してあるので、 実行例はその中のsample/examples.txtを見る..]
ψ ゆっけ [アイデア押せ押せ系のソフトで行こうかとおもとります。まぁちと技術に不安がありますが。ちなみに研究会でやってることです..]
ψ いっちー [tml のところから gtk on cygwin にリンクが貼られていますね。 成果が認められたのだと思います。おめ..]
ψ さかい [……と言うことは、それが兼卒業制作になるのかな? なんかイイ感じですね。> ゆっけ いっちーさん、お久しぶりです。..]
ψ ゆっけ [>すぃしょー そうだねー、うまくいくとイイなー。]
2004-04-30
λ. 購入した本
- 『C++によるXML処理技法』
- ファビオ・アルシニェガス(Fabio Arciniegas) [著], 高橋 秀和 [訳]
λ. VC++.net
今度のバイトで使うVC++.netを受け取る。MSの開発環境を使うのは初めてなのだけど、結構使いやすく感じた。あと、C++の拡張機能が楽しげ。
2005-04-30
λ. Premonoidal categories and notions of computation, John Power and Edmund Robinson
を読んだ。
λ. 动漫渔场.东方同人堂
すげぇ。
λ. RDF Twig: XSLT Extension Functions for Accessing RDF Graphs
no ski, no life (2005-04-26) より。RDFの本質はXML表現ではなくグラフであり、また同一のグラフを異なるRDF/XMLで表現できることもあって、一般のRDF/XMLの変換をXSLTで書くのは非常に困難。そこで、XSLTにRDFのグラフそのものを直接操作するための拡張機能を追加してしまおうという話なんだろうけど、どんなインターフェースなのかが気になるな。
RDF Twig: Accessing RDF Graphs in XSLT, Norman Walsh を見ると結構シンプルだな。
2006-04-30
λ. 第十六回圏論勉強会
Olegさん凄いな。 Context Reduction がeagerかlazyかだとか、その場合の Functional Dependency の扱いとか、僕なんかは出来るだけ避けて通りたいと思うような点について、嬉々として語っていたのが印象的だった。
2008-04-30
λ. NEXT
観てきた。ちょっと前に某所で「可能世界だ」とか「様相論理だ」とか面白がってた映画。結構アホっぽい感じの娯楽映画で、伏線も謎もあったもんじゃないけど、ニコラス・ケイジが能力を駆使して活躍する様はそれなりに楽しめた。
【追記】 2008-05-01の毎日新聞夕刊の「シネマの週末」では「よほどおおらかな気分で見ないと、主人公の分身シーンなど、キテレツな場面の連続にあぜんとさせられるだろう」と書いてあったけど、個人的には分身等の表現は「有界モデル検査(bounded model checking)をこう視覚化したか」という感じで、結構面白かったんだが。
λ. CPLのHaskell版パッケージをCabal化
CPLのHaskell版パッケージをCabal化した。 もうコードを書いたのが昔過ぎて、コードを見返すのが面倒くさかった。
2009-04-30
λ. ThinkpadでcoLinuxが動かない
Portable Ubuntu - たけをの日記@天竺から帰ってきたよ で Portable Ubuntu を知り、便利そうだったので、早速 Thinkpad に入れてみようとしたのだけど、どうも起動した瞬間にWindowsごと固まる。 色々実験してみると、どうも無線LANが有効になっていると固まるようだ。 ぐぐってみると、Thinkpad X60 シリーズ で Windows Vista で無線LANが有効だとこの現象が起こるみたいで、どうも対処法はないっぽい*1。 しょぼーん。
同じ問題に遭遇している人たち:
2014-04-30
λ. IOモナドでヒープ割り当てを強制される件
Haskellでプログラムを書いていて、数年以上ずっと悩んでいる点として、
sumI :: UArray Int Int -> Int -> Int -> Int -> Int sumI a i end ret | i <= end = sumI a (i+1) end (ret + (a ! i)) | otherwise = ret
みたいな関数だと、UArray Int Int -> Int# -> Int# -> Int# -> Int#
という型のワーカ関数が生成されるので、結果を即消費するような場合にはヒープ割り当てが発生しないのに対して、
sumM :: IOUArray Int Int -> Int -> Int -> Int -> IO Int sumM a i end !ret | i <= end = do x <- readArray a i sumM a (i+1) end (ret+x) | otherwise = return ret
みたいな関数だと、IOUArray Int Int -> Int# -> Int# -> Int# -> State# RealWorld -> (# State# RealWorld, Int# #)
という型のワーカ関数ではなく、IOUArray Int Int -> Int# -> Int# -> Int# -> State# RealWorld -> (# State# RealWorld, Int #)
という型のワーカーしか生成されず、Intが必ずヒープ割り当てされてしまう。
通常は大して問題にならないのだけど、凄まじい回数呼ばれる関数だと、それが積もり積もってプログラム全体のメモリ割り当ての数割を占めてしまったりして、そういう場合にはGCプレッシャーも馬鹿にならないので、出来ることなら1バイトたりともヒープ割り当てしたくないのである。 望む worker-wrapper transformation 結果を手で書いてしまえば良いのだけれど、GHC拡張に依存したコードを直書きするのも気が引けることもあって……