タグ

ブックマーク / manjilab.com (3)

  • “Clojureライブラリ・コーディング規約” まとめ - マンジラボ

    前エントリ clojure.lib コーディング規約・訳 から1週間以上がすぎました。 Google Groupsでのディスカッションで合意されたコーディング規約をStuがまとめてアップしてくれました。 Clojure Library Coding Standards | Clojure | Assembla さっそく和訳してみました。 間違いがあればご指摘ねがいます。 ⇒ @manjilab 【和訳ここから】 免責事項: 規則は破られるためにあります。この規約に倣うも絶対のものとして扱わないこと。 規約: 名前と使用法はよく考えて書くこと。RichはJavaにおける既存のコードとの互換性の維持を尊重しています。練習用のコードであればいつまでもいじってられますが、ひとたび名前と使用法が公開されればそうはいきません。(具体的な実装に興味がなく名前と用法だけを見ている利用者が多いですから) コ

  • Clojureでメソッドチェイン風に記述するマクロ - マンジラボ

    ClojureのAPIリストを眺めていたら面白いマクロがありました。 -> と ->> です。 Rubyのメソッドチェインのようなことができます。 例えば次のようなRubyでの処理は 123456789.to_s.length => 9 ClojureでもJavaのメソッドを直接使う場合は .. でチェインできます。 user> (.. 123456789 toString length) => 9 -> を使えばこれをClojure上の関数で実現できます。 user> (-> 123456789 str count) => 9 123を文字化して逆順にする場合 user> (-> 123 str reverse) => (\3 \2 \1) reverseは文字のシーケンスを返すので user> (->> 123 str reverse (apply str)) => "321" のよ

  • jRubyとClojureの速度比較 on Google app engine - マンジラボ

    以前 Google App Engine (以下:GAE) 上にて簡単なアプリ動かしたときのデータです。 シンプルな、いわゆる”Hello World”アプリをSinatraとCompojureで作り、GAE上での実行時間を調べました。 CompojureとSinatraは良く似ているので jRubyとClojureの比較といってもいいかもしれません。 まずは Sinatra on jRuby 起動までに20秒前後とかなり待たされます。 2回目からはオンメモリなので速いです。 次が Compojure (Clojure) 6〜7秒で起動。だいたい予想通りの結果です。 こちらも2回目からは速いです。 それぞれ Sinatra の3倍は高速でしょうか。 GAEは30秒を越えると起動に失敗するので注意が必要です。 Sinatraでこれですから、jRuby on Ralisで苦労している理

  • 1