Erlang

擬似並列実行

http://ja.doukaku.org/comment/7996/Erlangの得意分野のはずが、Smalltalkに2倍近い行数で負けてしまっている…。ごめんなさいarmstrong様、修練がたりませんでした…。

amd64?x86_64?

折角のマルチコアなのでerlangでも入れてみるかと思ってmakeしたところ、xubuntu側がx86_64だと主張しているらしく、amd64のhipeとかあるにも関わらず素直にmakeできない。この手の名称の混乱って面倒だなぁ。

R12B-3がリリースされてた

最近、リリースされてたって書いてるだけな気がする… 今回の目玉はperl風正規表現ライブラリの追加か。とりあえずインストールする。 tar xzf otp_src_R12B-3.tar.gz cd otp_src_R12B-3 ./configure --prefix=$HOME/Opt make && make install

R12B-2がリリースされてた

R12B-2がリリースされてたので、もらってきてローカルにインストールする。 wget http://erlang.mirror.libertine.org/download/otp_src_R12B-2.tar.gz gtar xzf otp_src_R12B-2.tar.gz cd otp_src_R12B-2 ./configure --prefix=$HOME/Opt make && make inst…

循環関数

http://ja.doukaku.org/comment/6401/最近投稿してないなぁ。前回は一ヶ月以上前だ。 それはそれとして、負数の剰余は言語によって違うことを初めて知った。-1を100で割った余りは、-1だったり99だったりするらしい。 そんなわけで実験。Erlangの場合 1> -1 …

文字変換表に基く文字列の変換

http://ja.doukaku.org/comment/6225/久しぶりの投稿なので、簡単な基本版にしておく。

ネイティブコードになってくれない

Erlangはコンパイル時の指定によりネイティブコードを生成してくれるオプションがあるが、PS3のyellow dog linux上でやってみると、Warningがでてしまう。 > erlc +native collatz_kakutani.erl ./collatz_kakutani.erl:none: Warning: this system is not c…

ワーカスレッドを安全に終了させるまで待機

http://ja.doukaku.org/comment/5331/ワーカスレッドをプールして再利用するというのは、軽量なプロセスが売りのErlangには合わない考え方なのではないかと思った今日このごろ。

Erlang/OPTをPS3Linuxでビルド

PS3LinuxでErlangの動作環境を整える。今後も色々差し替える可能性も考えて、また、自前ビルドなのでrpm管理下におかれないので、インストール先をシステム側ではなくホームディレクトリにする。 まず本家のダウンロードページからopt_src_R12B-0.tar.gzをも…

コマンドライン引数の取得

http://ja.doukaku.org/comment/5150/なにがどうというわけでもなく。

年間カレンダー

http://ja.doukaku.org/comment/5118/標準ライブラリにcalendarというモジュールがありつつ、自分でもローカルでcalendarというモジュールを作ったら、何も言わずにローカル側のみをインポートするらしく、標準ライブラリの関数が未定義になるというミスにか…

議席数をドント方式で

http://ja.doukaku.org/comment/5085/コンテナ内にある任意の位置の要素を取り換えたコンテナを作るってどうするのが正しいんだろ?Cの配列なんかは a[5] = 10; って代入しちゃえばいいんだけど(対象の配列を破壊していいなら)、Erlangのリストの場合元の…

税込み価格への修正

http://ja.doukaku.org/comment/5077/問題とは直接関係ないけど、erlangのシェルは日本語部分をエスケープしてしまうので、今回はコマンドラインから直接実行するようにした。エスケープしないで素直に表示してくれればいいんだけど…ちょっと改造できるかコ…

正整数のゲーデル数化?

http://ja.doukaku.org/comment/4888/今まで、lispのcarに相当するhd()があるの知らなかった。いやきっとあるんだろうとは思ってたんだけど見付からず、lists:nth(1, X)とかやってた…。

隣り合う二項の差

http://ja.doukaku.org/comment/4858/なんだか本当に並列じゃないことしかやってないね。

与えられた文字列でピラミッド

http://ja.doukaku.org/comment/4857/リスト内包表記で書いたけど、map()でもほとんど同じように書ける。どっちがいいんだろ?

逆転したビット列

http://ja.doukaku.org/comment/4847/書こうと思えばいくらでもワンライナにできるんだなぁ。こんなに長いと読みずらいからもうやめとこ。

与えられた数字のケタ数

http://ja.doukaku.org/comment/4813/Erlangでいくつか投稿しているけど、まったくもって並列ではないのはどうなんだろ。練習中だしカバレッジ稼げるし、まぁいいか。

条件を満たす行を取り除く

http://ja.doukaku.org/comment/4782/最後の方の行にあるような、=演算でパターンマッチを出来るのがErlang面白い。(ほとんどCとC++くらいしかやったことないので、Erlang以外の言語にもあるのかもしれないけど、知らない) {ok, In} = file:open(InFileNam…

ビンゴの結果を整形表示

http://ja.doukaku.org/comment/4781/C言語のprintf族に似てるから、特に実数指定とかはfなので、整数指定はdだと思い込んでちょっと悩んでしまった。 やっぱり始めのうちはマニュアル見ながらやらないとダメですね。

concurrentとparallelってどう違う?

読みはじめていきなりつまづく。concurrentとparallelってどう違うんだろ?本のタイトルは、 Software for a Concurrent World とあるのに対して、p.1の最初には、 The world is parallel. とある。concurrentもparallelも並列とか並行とか大体そんな意味で…

Programming Erlang

Programming Erlang: Software for a Concurrent World作者: Joe Armstrong出版社/メーカー: Pragmatic Bookshelf発売日: 2007/07/01メディア: ペーパーバック購入: 1人 クリック: 22回この商品を含むブログ (26件) を見るErlnagの本は日本語のものがほとん…

立方根の計算

http://ja.doukaku.org/comment/4757/前にC++で書いた http://ja.doukaku.org/comment/2947/ と基本的には変わらず。点数稼ぎということで。順調順調、Erlangが30%越えた。

文字列のセンタリング

http://ja.doukaku.org/comment/4756/他言語をざっとみると直接ライブラリをよんでるのが見当たらない。センタリングはするけど、切り詰めてくれないのが多いのかな。

n人中m人が当選するくじ

http://ja.doukaku.org/comment/4733/問題の要求はたぶん満たしてると思うけど、あまり公平じゃないかもしれない。

重複無し乱数

http://ja.doukaku.org/comment/4730/ lists:seq(1, Num) と書くべき所を lists:seq(Num) 書いてしまい、実行時エラーが出てちょっとデバッグに時間使ってしまった…。

アレイのuniq

http://ja.doukaku.org/comment/4727/カバレッジに貢献してないけど、まずは小手調べということで。

Erlang/OTPのインストール

まずは本家のサイト http://www.erlang.org/download.html から現状最新版のR12B-0をもらってきて、何も考えずにアーカイブを展開してconfigureする。 > ./configure あれ?最後になんかメッセージが出た。 ***********************************************…

プログラミング言語Erlang入門

プログラミング言語Erlang入門作者: 柏原正三出版社/メーカー: アスキー発売日: 2007/11/29メディア: 単行本(ソフトカバー)購入: 3人 クリック: 72回この商品を含むブログ (40件) を見る先日出たErlangの入門書を読んでみる。 Capter 2にインストール方法…