このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

Erlang

興味深い関数

code:clash/0 statistics/1 erlang:system_info/1 erlang:iolist_size/1 erlang:iolist_to_binary/1 erlang:port_command(Port, Command) erlang:bump_reductions/1 erlang:garbage_collect/0 erlang:open_port/2 erlang:port_close(Port) erlang:get_stackt…

spec指定属性の実際

R12B-4 (erl5.6.4) のlib:次のソースで -spec(...). が使われている。意外にもEDocでも使っている。 compiler-4.5.4/src/beam_disasm.erl compiler-4.5.4/src/core_parse.erl compiler-4.5.4/src/erl_bifs.erl cosNotification-1.1.7/src/cosNotification_G…

悔やまれる

一時、Erlangのアプリケーションコントローラ(appplicationモジュール)とか、アプリケーションスタータとかの関係を理解したのに、今はわからない。クッソー、メモしておかなかったからだ。

spec指定属性

kernel/file.erl に -spec が使われている。

EDocの興味ある関数、オプション

edoc_lib.erlの、 get_first_sentence read_info_file write_info_file {includes, [string()]} オプション外部ファイルのサーチパスを指定する。@docfile, @headerfileで効いてくる。includesと複数形、値は文字列のリストであることに注意。

アームストロングとカールソンの言葉をクリップ

Joe Armstrong, "defensive programming" http://www.erlang.org/pipermail/erlang-questions/2003-March/007869.html If you do *nothing* to your code you get a good diagnostic anyway: In C etc. you have to write *something* if you detect an erro…

Erlangの例外、その他

以下の2つ、いろいろな意味で面白い! 味読すべき一品。プロセスリンクとシグナリングシステムについても考えさせられる。 http://www.erlang.se/workshop/2004/exception.pdf 論文 http://www.erlang.se/euc/04/carlsson_slides.pdf スライド その他: http…

副作用と順次実行

1. 局所環境=変数環境への作用 パターンマッチング 2.1 メッセージ送出 他プロセス/ランタイム全体への作用 2.2 ランタイム外部への影響 ポート 一応メッセージングと統合されている 式Eの環境σでの評価結果=値を【E】σとする。Eの評価に伴う環境σへの作…

Erlangジャーゴン的

言葉 Erlang 一般的 プロセス 軽量プロセス OSプロセス ポート port() 型 通信の口 チャンネル - 伝送経路 アプリケーション モジュール集合 普通の意味 メールボックス メッセージキュー 普通の意味 ノード クラスター内のERTS グラフやツリーの頂点 リンク…

erl, werlの中断

Windowsでは: werlは、Ctrl-PauseにもCtrl-Cにも反応しない。Ctrl-Gには反応。 erlは、Ctrl-Pause、Gtrl-Gに反応せず、Ctrl-Cでいきなり死んでしまう。

EDoc内容の型

無視されるテキスト 例:hidden, private 単なるテキスト 例:copyright タグ特有の構造的なテキスト 例:author 型表現 例:spec, type XHTMLフラグメント 例:doc これで全部だと思うがね。

プロパティリスト

proplist, plist、多用される。{foo, boolean()}型のプロパティはアトムfooで代用できる。ときに、{foo, false}をno_fooで表現することも(標準的ではないが)。次の2つがプロパティをミニマイズする関数。変換するのは{atom(), true}だけ! atom(), false} …

BCPLの型概念

マーチン・リチャーズは型を: conceptual type internal type (or actual type) に分けて考えている。ウムッ!internal typeによりcoceptual typeをうまく表現するのが本物のプログラマってことかな。

Erlangの例外

スライド、教訓的。 http://www.erlang.se/euc/04/carlsson_slides.pdf もうひとつ。 http://www.erlang.se/workshop/2004/exception.pdf

すぐに、断片でも、メモせよ

アームストロングのErlang本に、アプリケーションコントローラーとアプリケーションスターターが混同してあるところがあって、僕は「コントローラーとスターターは違うんだぜ」と思った。それは憶えている。が、アプリケーションスターターが何であるかを今…