タグ

ブックマーク / xuwei-k.hatenablog.com (5)

  • sbt0.13.2-M1の新しいインクリメンタルコンパイル試したら素晴らしい結果がでた - xuwei-k's blog

    140文字 ✕ 2で表すとこんな感じ sbt 0.13.1[info] Compiling 1 Scala source[info] Compiling 7[info] Compiling 84[info] Compiling 240[success] Total time: 259 s 2014-01-10 12:56:08 via web sbt 0.13.2-M1[info] Compiling 1 Scala source[success] Total time: 15 sURL URLAwesome!!! 2014-01-10 12:56:52 via web to @xuwei_k 測定方法は Scalazの、現状の最新のcoreモジュールを使って実験 EphemeralStreamにheadOptionとtailOptionという2つのメソッドを追加するコミットを使用 htt

    sbt0.13.2-M1の新しいインクリメンタルコンパイル試したら素晴らしい結果がでた - xuwei-k's blog
  • sbtの密結合な内部アーキテクチャ - xuwei-k's blog

    sbtというと、独特なSettingのシステム*1や、Scalaで記述する内部DSL*2ばかりが注目されがちです。それらは、初心者にわかりづらかったりして批判されることが多かったり、逆にsbtを使い慣れた人にとってはとても強力で面白い仕組みです。 Settingのシステムに注目すると、汎用的に色々な言語のビルドにも使えそうに思えます。事実、sbtでC++のpluginを作っている人もいます。 しかし、sbtはあくまで「Scala(とJava)のためのビルドツール」です。 これは「単にScalaをデフォルトでサポートしてる」という意味にとどまらず、おそらく皆さんが思っているよりもずっと深い意味で「Scalaに特化したビルドの仕組み」が内部に備わっています。 今回は、そんな「sbtの内部アーキテクチャ」の紹介をします。 以下、かなり長いです。読み物としては面白いかもしれませんが、単にsbtを使

    sbtの密結合な内部アーキテクチャ - xuwei-k's blog
    vvakame
    vvakame 2013/12/11
    面白かったwww
  • Scalaのversion間の非互換について具体的に考える - xuwei-k's blog

    わりと以前から書いてみたかったことなので、書いてみます。 たとえば最近ではここ Web✕Java - HTML5で進化したWeb標準を、Java技術でどう扱うのか?でStruts使ってる人へJSFの説明をしてきた #jjug #html5biz でとりあげられていたりします。*1 昔からずっと言われてる話です。ですが、「互換性がない」とある程度多くの人が口をそろえて言う一方、「ではどのくらいの互換性があればいいのか(どういうポリシー?どのくらいの期間を保証?)」という具体的な議論がほとんどされていない気がします。 なので、もうちょっと具体的に考えてみたいと思います。 先日こんなtweetをしました @seratch 順調にいけば今年中にScala2.11はRC出るくらいになりそうだし、3世代クロスビルド(2.9、2.10、2.11)はかなり厳しいので、もし2.11サポートと同時に2.9切り

    Scalaのversion間の非互換について具体的に考える - xuwei-k's blog
  • sbt 0.13 の機能紹介 - xuwei-k's blog

    0.13.0-M1が出たので、0.12系からの違いや新機能を、大まかにまとめ。 注意 まだMilestoneなので、finalのリリースまでに細かい部分変わるかもしれません。 まだMilestoneなので、このblog書いている時点(2013-03-20)では、普通のユーザーが格的に実用するのはやめたほうがいいです。もうfinalでたのでみんな使おう 全部網羅しませんし、細かいところまで説明しません。詳しく正確に知りたい人は公式のこのページ http://www.scala-sbt.org/0.13.0/docs/Community/ChangeSummary_0.13.0.html (や、それの日語訳 http://eed3si9n.com/ja/node/142 )読みましょう 注意おわり。ここから説明。 Scala が 2.9.2 から 2.10.xになる Scala 2.10

    sbt 0.13 の機能紹介 - xuwei-k's blog
    vvakame
    vvakame 2013/03/21
  • Scala の Macro を使って、コンパイル時にフィボナッチ数を計算してみた - xuwei-k's blog

    つい数日前にでた、 Scala2.10.0-M2 から、( コンパイルオプションが必要ですが) macro が入っているので、使ってみました! もう、タイトルのままで、とにかくソース見てもらえば(ry https://github.com/xuwei-k/compile-time-fibonacci macro については、他にも試している人*1がいたので、参考にさせて頂きました https://github.com/retronym/macrocosm/ ちなみにScala2.10.0-M2をsbtでやろうとするとめんどくさいことになるので、 実行したい人はこれ 読んでください。README に貼りつけた sbt のログを見てもらえばわかると思いますが、完全にコンパイル時に計算していて、実行時には時間かかってません!(`・ω・´)キリッ macro の理解が足りなくて、冗長になっていたり

    Scala の Macro を使って、コンパイル時にフィボナッチ数を計算してみた - xuwei-k's blog
    vvakame
    vvakame 2012/02/24
    すげー!
  • 1