タグ

ブックマーク / bellbind.hatenadiary.org (3)

  • SpiderMonkeyのビルド - ラシウラ

    検索で引っかかるページのビルド方法は、どれも難しく見えるけど、依存環境が少ない(libcレベル)ので正直簡単に作れる。開発環境があれば、以下のコマンドそのままコピーでいけるはず。 CVSからダウンロード $ cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot login password: anonymous $ cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/js/src $ cd mozilla/js/src Linuxの場合: $ make -f Makefile.refjs/src/Linux_All_DBG.OBJ/にjsができる。 最適化する場合 $ make -f Makefile.ref BUILD_OPT=1こちらはjs

    SpiderMonkeyのビルド - ラシウラ
  • Goをちょっと使ってみた - ラシウラ

    いきなり大人気のgoをすこし触る。Rob PikeやKen Thompsonとかが作っているというだけですごいと思ってしまいます。 http://golang.org/ ビルド ubuntuの場合、 http://golang.org/doc/install.html に書いてあるとおりすればコンパイラやリンカなどのツールのバイナリができあがります。 コンパイラやリンカはアーキテクチャごとに名前が違い、 386用: 8g, 8l amd64用: 6g, 6l arm用: 5g, 5l のようです(FAQによると、Plan9の伝統らしい)。 http://golang.org/doc/go_faq.html#What_kind_of_a_name_is_6g また、環境変数GOROOT,GOOS,GOARCHは、コンパイラやリンカの実行時にも必要なものです(生成バイナリの実行には不要)。.b

    Goをちょっと使ってみた - ラシウラ
  • Hindley-Milnerの型推論 - ラシウラ

    アルゴリズムについてのメモ 構文: 変数参照(ref)、関数適用(apply)、lambda、let, letrec 整数や文字列などは特別なref扱いで 型宣言はない 型: 多相型と具体型、単一型(アトム)と組合せ型(関数とかタプルとか) 推論型: 構文上の問題から仮に割り当て、チェック時には仮に多相型のようにユニファイしていくことで固定化する具体型。ユニファイでは多相型のように処理するが、処理後は具体型として参照する内部型。仮引数や再帰関数など。 型環境: [(識別子, 型)] 構文ツリーでのlambdaやletごとに親子構造をとる継承式辞書 built-inの名前の型をトップに入れておく 型チェック: (構文木、型環境) -> 型 or 型エラー (構文ノードの種類ごとに再帰的に処理、結果としてそのノードの型を取り出す) 変数参照: 型環境から取り出す 関数適用: 使っている関数の型

    Hindley-Milnerの型推論 - ラシウラ
  • 1