2008-07-01から1ヶ月間の記事一覧

LLVM-2.X系の文法

1.X系から大きく変わってます。 http://llvm.org/releases/2.2/docs/LangRef.html Cコードhellostruct.c int puts(const char*); struct Hello { int age; char* name; }; int main() { struct Hello hello; hello.age = 15; hello.name = "Taro"; puts(hell…

Agda2のcodata定義

Agda2では、dataで定義したデータ型は有限で、それを利用する再帰関数も停止性が証明できないといけないけれど、codataは、停止しない再帰関数を記述することができます。定義は、ラベルがcodataである以外、dataと同じです。以下のStream Aは、List Aと同じ…

再帰代数データ型と代数

なるほどなと思った A Neighborhood of Infinity: MSFP 2008 より HaskellでのListデータ型の定義 data List A = Nil | Cons A (List A) 各項を以下の数式記号に、置き換える List A => L(A) a | b => a + b Nil => 1 Cons A b => A × b L(A) = 1 + A × L(…

Agda2ことはじめ

参考は http://www.cs.chalmers.se/~ulfn/darcs/AFP08/LectureNotes/AgdaIntro.pdf とAgda2添付のexamples、そしてソースコード。一応emacsインタフェースで、コード補完(別名、証明補助)できるUIがあるのですが、自分はまったく使ってません。一応、こうい…

Agda2で遊んでみた

Haskell風構文のDependently Typed Programming LanguageであるAgda2を少し学んでみました。 The Agda Wiki - Agda インストールとか ubuntu intrepidで使う場合、依存ライブラリのうち、zlibとQuickCheckだけは別途makeして入れる必要がありました。あとはd…

Google DocsのPDF対応は、まだ公開モードは対応してない

PDFのユーザー間の共有は可能だけど、PDFの公開はまだ無理のもよう。 PDF文書は、ブラウザ上では画像で大きめに表示される。その画像の上で矩形選択&Ctrl+Cで文字をコピーできる少しきもちわるい仕様。slideshareは表示が小さかったり処理が重かったりといろ…

スライド: プログラミング言語の意味論とCoqで証明

この辺の話題の調査というかまとめというか。発表で使ったLaTeXで作ったスライドを少し追加修正。想定時間とか大幅に間違えてるので、バランス的な面でいろいろ中途半端かもしれない。Survey around Semantics for Programming Languages, and Machine Proof…

C言語での複雑な型表記を理解する方法

ブックマークに書いたけど、自分の認識を明確にするため、少し詳しく書いておくことにしてみた。 はてなブックマーク - Reading C type declarations - Eli Bendersky's website C言語で、 char *(*(**foo [][8])())[] みたいな型はどういう意味を持つかは、…

新MB、グラボ用のドライバ類

Radeon: http://ati.amd.com/support/driver.html Vista x64: Explore AMD Featured Games | AMD BIOS、チップセットドライバ: GIGABYTE Japan BIOS: マザーボード | サポート - GIGABYTE Japan Chipset: マザーボード | サポート - GIGABYTE Japan LAN: htt…

Phenom X4 9350eに入れ替えた

ついにX4ですよ、X4。マザーボードはGIGABYTEのGA-MA78GM-S2H(rev1.1)。店頭においてあったのはrev1.0ばかりだけど、T-ZONEで山積みされてるなかにrev1.1が少し混じってたので購入(9681円)。Phenom 9350eはツクモEXで23980円。マザーは結構大きめなのでMicro…

Googleのlivelyやってみた

Official Google Blog: Lively no more まずは人が集まるかどうか、かな。このようにアバターはSecondLifeよりなじみやすいとは思うけれど。 Windowsにインストール、ブラウザ上で実行 移動はドラッグのみ(WASD移動はない) 矢印キーとマウスホイールで視点切…

Vista Ultimate DSP版のおまけがカオスだった

Vistaのおまけがパスタってのはどうなんだろうか。時代は4コアだなと、Phenom X4 9350eと対応マザーボードを買おうと久しぶりに秋葉原にいったけど、9350eがどこも入荷まちだった。 http://ja.wikipedia.org/wiki/AMD_Phenom : 9350eは24000円前後 GIGABYTE …

オンラインマインドマップサービスmind42を試す

オンラインでマインドマップ――無料Webアプリ6選 - ITmedia エンタープライズ よりmind42を試してみた。 http://www.mind42.com/ なかなかいいと思う。ちなみに画像形式でのEXPORTでは日本語文字列は入らない。(はてなダイアリーへのiframe貼り付けは、iframe…

関数型論理プログラミング言語Mercuryのチュートリアルを読む

http://www.icfpcontest.org/rules.htmlにある言語のうち、ひときわマイナーで目立ってました。 http://www.cs.mu.oz.au/research/mercury/ Mercury (programming language) - Wikipedia 関数型論理言語にはCurryもありますがCurryがHaskellに論理プログラミ…

let a = b in cは意味論的には(fun (a) -> c)(b)と等価

たまたまみかけた http://d.hatena.ne.jp/aqvi/20080624 より、まず「副作用」の使い方が変な気がしますがそれは置いといて、erlangでは、ガードでかける式が限定されるのは初めて知ったので勉強になりました。 http://www.erlang.org/doc/reference_manual/…

Ubuntu Intrepid化してみた

VMWare上でだけれど。システムはamd64です。amd64上のサガでflash pluginはやはりSCIMが効かない。コピペはできるし、ニコニコだとフォームと同期するgreasemonkeyを使えばいいのであまり気にならないです。最近気になるのは、Unicode記号のフォントが少ない…