2010-01-01から1年間の記事一覧

プログラマが読むべき10冊

1.Types and Programming Languages ( http://www.cis.upenn.edu/~bcpierce/tapl/ ) TAPLは現実 2.Advanced Topics in Types and Programming Languages ( http://www.cis.upenn.edu/~bcpierce/attapl/resources.html ) Chap8 , Chap10は読んだ方が身の為 3.…

COMFRK宣伝

http://ratiwo.blogspot.com/2010/12/comfrk-vol-2.html2010年ももう終わり、明日は12月の31日です。12月の31日ということは、コミックマーケット79の3日目であり最終日であります。皆さんは、ぼくが夏コミにおいてCOMFRKというサークルに参加し、単純型付け…

ldにおける変更

ldを使ってシンボルの置き換えをしているわけですが、これまで手元のバージョン(ld 2.20.1-system.20100303)だと、次のような振舞をしていました。 /* test.c */ extern int a; int main() { printf("a = %d\n",a); return 0; } /* def_b.c */ int b = 42; /…

メモ

http://hackage.haskell.org/trac/ghc/ticket/4497 http://hackage.haskell.org/trac/ghc/ticket/4809 http://hackage.haskell.org/trac/ghc/ticket/4846 , http://hackage.haskell.org/trac/ghc/ticket/2420 http://www.haskell.org/pipermail/cvs-ghc/2010…

GHC 7.0.2 RC1及び、GHC 6.12.3をもてあそぶコード

まずHaskellはSystem Fωをベースにして(厳密にはSystem FC http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/FC#Newtypesarecoercedtypes とからしいですが)いるので、型を取って型を返す関数を書く事が出来ます。 type Id a = a type Pair a …

メモ

http://www.haskell.org/ghc/docs/7.0.1/html/libraries/ghc-7.0.1/src/TcInstDcls.html Note [Single-method classes] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If the class has just one method (or, more accurately, just one element of {superclasses + methods…

C++で定理証明(C++ Advent Calendar 3日目)

本文ははてなが使えないすぎるので、まだテキストで張った方がマシでした http://www.coins.tsukuba.ac.jp/~s0811425/adventc++3.txt #include <iostream> #include <typeinfo> #include <cxxabi.h> #include <type_traits> #include <functional> #include <boost/mpl/if.hpp> using namespace std; char* demangle(const char *ty) { </boost/mpl/if.hpp></functional></type_traits></cxxabi.h></typeinfo></iostream>…

GHC 7.0.1 Crash

http://atnd.org/events/10143会場が決定しました。また、日付が12月26日になってしまっていますが、26日で都合の悪い場合はコメントなどしてください。 より良い日程を模索します。あと2人は参加出来ると思いますから、奮って参加してください。 別に破壊活…

GHC 7.0.1 Crash

http://atnd.org/events/10143を作りました。12月の土日でやりたいと考えています。 毎度ですが、やる事はGHC 7.0.1のバグとかを発見してバグレポートを送ってやろうというそれです。他に目的はありません。

リブログ

http://hkdmz.tumblr.com/post/1430716177/uinyan-http-img-5pb-org-s-10mai526610-jpgぼくはリブログって知らないけどこれはリブログじゃないと思うんだな

fstclassmodule遊びちょびまとめ

纏めるのが面倒臭かったので、とぎゃたーを使いました。まぁついーとを纏めるならここに書くよりもコレを使った方が良い筈です楽ですし。http://togetter.com/li/67542大まかに話をまとめると、一番はじめはこのエントリ http://d.hatena.ne.jp/ranha/201011…

メモ

OCaml 3.12での話なんですが (* is_empty_ Map.Make(String) something is_empty_ Map.Make(Int32) something *) let is_empty_ modl = let module Modl = (val modl : Map.S) in let aux (map : 'a Modl.t) = Modl.is_empty map in aux (* local module 'Mo…

メモ

{-# OPTIONS --type-in-type #-} module Proof where ⊥ : Set ⊥ = (A : Set) -> A ¬_ : Set -> Set ¬ A = A -> ⊥ pow : Set -> Set pow U = U -> Set data _==_ {A : Set} : A -> A -> Set where refl : (a : A) -> a == a symm : {A : Set} -> {a b : A} ->…

メモ

Inductive eq {Ty : Set} : Ty -> Ty -> Set := | Refl : forall v , eq v v. Inductive sgl {Ty : Set} : Ty -> Set := | Sgl : forall v , sgl v. Definition test {ts ts' : nat} (obj : eq ts ts') (s : sgl ts) : sgl ts' := match obj with | Refl v =…

g++-4.6はどうやってこうなった?

この間リナカフェでも話したお話なんですが #include <iostream> using namespace std; template<class T> struct id{ typedef T type; }; template<class T> void f(T t){ cout << "ue" << endl; } template<class T> void f(id<T>::type t){ cout << "shita" << endl; } int main() { f<int>(0); return </int></t></class></class></class></iostream>…

メモ

多分rvoっていう事で話は終わった。 #include <iostream> #include <typeinfo> #include <cxxabi.h> using namespace std; char* demangle(const char *demangle) { int status; return abi::__cxa_demangle(demangle, 0, 0, &status); } /* Sはあらゆる方法で生成出来ないようにしたい修造</cxxabi.h></typeinfo></iostream>…

C++のテンプレートの形式化(A Semantic Analysis of C++ Templates)

最近"A Semantic Analysis of C++ Templates"という、「C++のテンプレートが未だにまともに、"自然言語じゃない形で"形式化されてないから俺らがやってやった!!」という論文を読みました。論文の在処 : http://ecee.colorado.edu/~siek/pubs/pubs/2006/sie…

いにちありぜりすと

#include <iostream> #include <initializer_list> using namespace std; void f(initializer_list<int> x) { cout << x.size() << endl; for(decltype(x.begin()) it = x.begin();it != x.end(); ++it) cout << *it << endl; } int main() { f({1,2,3}); return 0; } /Users/ranha/c++-misc/i</int></initializer_list></iostream>…

8月中盤のお話

暇なので書かなければならなかったことを書くお仕事です。 ファイアーエンブレム 新紋章の謎 を買いました。頭がおかしくなるぐらいにやって、闘技場で超チキンプレイをして、マニアックをクリアしました。ルナティックは無理です。 というかFEはやっぱり面…

コミックマーケット78の宣伝

今日!!8月14日土曜日にコミックマーケット78で@m0h1canさんが編集長を勤めたCOMFRKという、何か良く分からない記事が集まった本が出ます。http://ratiwo.blogspot.com/2010/08/comfrk-vol-1.htmlさて、ぼくの記事の紹介をしたいと思います。 Circular Prog…

プログラミングの魔導書 最遅レビュー

株式会社ロングゲート どこで買うんですか? http://longgate.co.jp/products.html今日8月6日予約締め切りです。こんなレビュー読む暇があったらちゃんと書籍版(!)を注文をした後にタブを閉じて、恐らくその分の時間でTAS動画を見た方が良いです・・・。 レビ…

Crash

http://atnd.org/events/6687もしかしたらネットが使える会場に変わりました。

Perl6 Crash

http://atnd.org/events/6687"一応"リリースされたようなので、開催は決定です。場所を素早く押さえたい・・・。あと全然人増えないのは場所とか決めて無いぼくが悪いんですが、お願いします。

Perl6 Crash

http://atnd.org/events/6687日程が8/7(土曜日)に決まりました。あとは、ネットにつながる会場を確保しないといけないのです。 今8人にしているのは、人が多いと小回り効かなく成って場所借りられなく成ると困るかなーっていう事だからで、 ちゃんとした所が…

Perl6 Crash

http://atnd.org/events/6687を作ってみました。画像はそのまま、スタープラチナが良かった気もしますが。これは何なのかとゆーと、以前Go言語が出た時に、http://atnd.org/events/2115 というものをやったのですが、それのRakudo Star版です。 一日Perl6の…

Falsoを使ってみた?

あらまし http://twitter.com/MoCo7/status/19336249733MoCo7さんのretweetで発見ティンと来た!!!http://estatis.coders.fm/falso/なんかCoqっぽいコードがあるけど何やってるか分かりません。 Agda2で {-# OPTIONS --universe-polymorphism #-} module F…

これは停止するらしい

module IndHatena where open import Data.Nat import Level open import Induction.Nat using (<-rec) f : (x : &#8469;) -> &#8469; f zero = zero f x = f x' where postulate x' : &#8469; postulate pr : x' < x f改' : (x : &#8469;) -> ((y : &#8469;…

どっちがいいんだろう?

何かを定義する時に、 ∃n > 0.n + n > 0のように、0より大きなある自然数nを加算した結果は0よりも大きいという意味が無い命題を書きたい時に ∃n > 0といった、ある種自然数のsubtypeを作って定義を進めたい、というような時、Agda2ではどう書くのが良いんだ…

雪歩プロデュースメモ

後の為に7月13日3:20頃開始http://lambda-the-ultimate.org/node/4006 これ面白そうだなぁ。 Fランク 多分雪歩さんは晩成型なので、しょっぱなからオーディション受けまくろう!!(まぁSランク取る時はいつもその方法なんですが...あとすごいテンション下がる…

C++のぼくがよくわかってなかった話

まずこういうコードを書きます #include <iostream> using namespace std; struct S { int i; }; int main() { S s(); cout << s.i << endl; return 0; } これを最初に書いた時の気持ちは、何故か、Sのデフォルトコンストラクタを呼び出してsを〜という感じだったので</iostream>…