タグ

erlangとprogrammingに関するkuenishiのブックマーク (14)

  • 「実践 Erlang」講義用資料 まとめ - Twisted Mind

    たけまるさんにご推薦いただき、とあるところで Erlang の講師をやることになったので資料を作るメモ 講義について # 明日にでもまとめます 以下での補助事業の一部で「実践 Erlang」の講師を担当させていただくことになりました。 コミュニティから広島に Erlang を広めたいという話を伺い、 少しでもお役に立てればと言うことで快諾させていただきました。 平成21年度「地域経済情報化基盤整備補助事業」 ビジネスベースひろしま−3ESC−コンソーシアム(中国) http://www.meti.go.jp/information/data/c90810dj.html 地域製造業に求められる「エレクトロニクス 化」を促進するために、高機能や新しいサービス を実現するソフトウェア開発を担う地域の中小 IT ベンダおよび係わる人材を育成する。また、 高度化・高付加価値のソフトウェアを提供する体

    「実践 Erlang」講義用資料 まとめ - Twisted Mind
    kuenishi
    kuenishi 2009/10/12
    僕もその発表は聞きたい。でも内容的には金とれるんじゃねw
  • Erlang 付属プロファイラ fprof の出力結果の見方 - higepon blog

    参照 Erlang の公式マニュアル。fprof 手短なコツ プロファイラ結果を上から見ていき、ACC が大きいものをたどっていく。 % がついたマーク付きの関数に注目して、calling, called 関数の ACC を見比べていき、時間を消費している関数を特定する。 Emacs なら M-C s で 関数名.*% あたりで追っていくと良い。 詳細 マニュアルの超訳(ねつ造、改悪、省略)。 以下のコードのプロファイリングを見ている場合。 -module(foo). -export([create_file_slow/2]). create_file_slow(Name, N) when integer(N), N >= 0 -> {ok, FD} = file:open(Name, [raw, write, delayed_write, binary]), if N > 256 ->

    Erlang 付属プロファイラ fprof の出力結果の見方 - higepon blog
  • Erlang: Impressed with Haskell's concurrency

    I have been playing with both Ocaml and Haskell* lately. In Ocaml, I have been rewriting a lot of simple Python scripts I use at work to see how they compare. They tend to be faster and more trustworthy. Ocaml, though, has pretty bad concurrency support. They have some thread library that wraps the OS threads, no real good message passing interface. Even the guys at Jane St have listed that as a c

  • Erlang vs OCaml (best niche to fit)

  • key-value stores: Anti-RDBMS: A list of distributed key-value stores | Richard Jones, Esq.

    Please Note: this was written January 2009 - see the comments for updates and additional information. A lot has changed since I wrote this. Perhaps you’re considering using a dedicated key-value or document store instead of a traditional relational database. Reasons for this might include: You're suffering from Cloud-computing Mania. You need an excuse to 'get your Erlang on' You heard CouchDB was

  • たけまる / Erlang Keynote - Armstrong on Software - Erlang & SMP

    _ Erlang Keynote - Armstrong on Software - Erlang & SMP [erlang][talk] 日の Erlang な人たちで,ヨーロッパで行われた Erlang Conference の 発表をいくつか紹介したら面白いかなと思ったので,やってみます. 手始めということで,Erlang eXchange で行われた Joe Armstrong さんのキーノートスピーチを紹介します. Joe Armstrong, "Erlang Keynote: Armstrong on Software: Erlang & SMP," Erlang eXchange 2008, June, 2008. pdf video このスピーチでは,Erlang が注目されている理由を簡潔に紹介しています. ややひいき目な感じもしますが,現在のコンピュータ環境で Er

    kuenishi
    kuenishi 2008/12/27
    世界では使われていますねerlang
  • Erlang実験室:ok/error方式はやっぱりダメなんだよ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「Erlang実験室:武士道と云ふは死ぬ事と見付けたり」において、例外を使わずに、ok/error方式でエラーを伝達するのは弊害が多い、と言いました。いい例が見つかったので、その例で説明します。 内容: 例の説明 caseの入れ子がぁーー スッキリしたようだが 何が悪いんだ ラップされた関数を使ってみると 最後の注意 ●例の説明 プロセスの内部状態Stateを、ファイルに書き出したかったのです(実話)。ファイルに追記(append)するのではなくて、毎回上書きします。ファイルのオープンのときに中身を捨てる(サイズをゼロにする)方法が見つかりませんでした(あったら教えて)。削除してから新規作成でもいいのですが、次のようにしてみました。冗長かも知れませんが、それはいいとします。 file:openで、ファイルを開ける。 file:positionで、書き込み開始位置をオフセット0にする。 io

    Erlang実験室:ok/error方式はやっぱりダメなんだよ - 檜山正幸のキマイラ飼育記 (はてなBlog)
    kuenishi
    kuenishi 2008/12/27
    異常系ルーチンを美しく書く方法はないものか
  • Erlang実験室:例外的値とバリアント型データ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    久々にErlangネタ。 Erlangにも、throw-try-catch方式の例外機構が備わっています。ですが、例外機構を備えた他の言語に比べると例外を使う機会が少ない気がします(印象、統計的裏付けはない)。ひとつの理由として、軽量プロセスの終了シグナルを使ったエラー処理が使えることがあるでしょう。また別な事情としては、例外ではなくて例外的値が非常に手軽に使えることが影響しているようです。 Erlangにおける、例外的値を使った処理 例えば、次のような仕様(構文は便宜上Java)の関数fooを考えます。 void foo(Object message) throws FooException; Erlangだと、この程度のことなら例外を使わずに、エラーを示す値を使ってしまいます。そのような、例外的値を持つ関数仕様をElrangの記法で書くと次のようになります。 @spec foo(Mes

    Erlang実験室:例外的値とバリアント型データ - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • Erlang実験室:武士道と云ふは死ぬ事と見付けたり - 檜山正幸のキマイラ飼育記 (はてなBlog)

    Erlangでは、「死ぬこと=プロセスをクラッシュさせること」の解釈/意義/価値観が、他の言語とは随分違います。潔<いさぎよ>く死ぬことが推奨されていますが、これは責務の放棄とは違います。 内容: 事故や災害への対処は個人ではなくて企業や社会が行うべき 正常と異常のはざま 例外を使うのは例外的? 多プロセス並列プログラミングと例外 潔さと無責任は違う -- 武士道プログラミング ●事故や災害への対処は個人ではなくて企業や社会が行うべき Erlangの書き方や文化で、なかなか馴染めないのが「異常時の処理を書かない」という方針です。 多くのプログラミング言語のコードでは、次のような分岐をしばしば見受けます。 if (正常条件) { 正常時の処理; } else { 異常時の処理; } switch (値) { case 正常な値_1 : 正常時の処理_1; break; case 正常な値_2

    Erlang実験室:武士道と云ふは死ぬ事と見付けたり - 檜山正幸のキマイラ飼育記 (はてなBlog)
    kuenishi
    kuenishi 2008/11/18
    書いてみるとわかるけど、case文がめちゃくちゃネストしてしまう→もしかしてカプセル化ができてない?
  • マルチコア危機:ScalaとErlangの対立

    ブロゴスフィアでは最近Scala対Erlangの議論がややヒートし続けている。マルチコアの世界(参考記事)が訪れようとしている今、いかにマルチコア危機を解決するかが問題になっている。ScalaとErlangはその解決法たらんとしている言語だが、少し違いがある。それぞれのアプローチの長所短所はなんだろうか? 問題 ムーアの法則はもう通用しない。かつてのようなクロック周波数の向上(リンク)は見込めず、かわりにコアの数を増やそうとしている。今の時代、あなたのノートPCでさえも2つコアを搭載していることだろう。 2つ以上のコアを有効に使うには、アプリケーションが並列処理を意識してないといけない。もしあなたの顧客が8コアのマシンを買ったとしたら、たとえそれをあるアプリケーションの専用マシンにしたとしても、そのアプリケーションがCPU性能の12%しか使えなくてもおかしくない、とあなたは顧客にどうにかし

    マルチコア危機:ScalaとErlangの対立
  • erlang の OO もどきの仕様(これっていつから?) - cooldaemonの備忘録

    下記のコードのように、-module の二つ目の引数にリストを渡すと・・・ -module(new_test, [Test1, Test2, Test3]). -author('cooldaemon@gmail.com'). -export([get/1]). get(test1) -> Test1; get(test2) -> Test2; get(test3) -> Test3. new/3 が定義され、get/1 の引数が一つ増えて、get/2 となる。 $ erl 1> new_test:module_info(). [{exports,[{new,3},{get,2},{module_info,0},{module_info,1}]}, {imports,[]}, {attributes,[{vsn,[82552267300809369358202831582896571762]

    erlang の OO もどきの仕様(これっていつから?) - cooldaemonの備忘録
    kuenishi
    kuenishi 2008/07/15
    erlangでオブジェクト指向、Object Oriented...Perlっぽい実装。
  • Concurrent computing - Wikipedia

    For the American computer company, see Concurrent Computer Corporation. For a more theoretical discussion, see Concurrency (computer science). This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Concurrent computing" – news · newspapers · books · scholar 

  • Erlang Land

    電話会社エリクソンの研究所で作られた言語「Erlang」についてしばらく調べてみようと思います。読み方はたぶん"あーらん"で。 リアルタイム処理や誤り検出が可能で組込用途に使われていて、並行処理の記述も可能、 ML や Haskell、Clean などに代表される関数型プログラミング言語の一種である、 と、見た目なかなか盛りだくさんな感じ。さてさて。 ご意見・間違いの指摘等大歓迎。 インストール 概観1 概観2 * 変数 構文の基 データ構造 * パターンマッチ1 パターンマッチ2 パターンマッチ3 関数定義 落ち穂拾い メモ プロセス1 * プロセス2 インストール (2003/04/09) Open Source Erlang のページから、 ソースやメジャーなOS用のバイナリが手に入ります。異様にデカいので、 回線の細い方には厳しいかもしれません。Windowsの場合、 落としたイ

  • Erlang Tips

    Erlang に関する情報を,自分用メモを兼ねて作成しました. 間違い等見つけた方はブログのエントリまで連絡いただけるとうれしいです. 最終更新:2007/07/04 23:56 目次 Erlangの特性 Erlangは以下のような特徴があります. 簡単に言うと,ネットワークサーバを書くのに向いています. 得意なこと ・大量の並列処理 ・複数サーバでの分散処理(ただしEthernet経由で通信するので専用インターコネクトほどは速くないと思います) 苦手なこと ・純粋な計算処理(C言語の10倍程度遅いようです) ・GUIアプリケーション(WingsというErlangでかかれたGUIアプリはあるが,GUI周りの情報は少ないです) ありそうな勘違い ・マルチコア・SMP環境にすれば,コア数に比例して性能が向上する. →もちろん条件によるので,必ず比例するわけではありません. SMPサポートは条件

  • 1