scala

Scala Conference in Japan 2013 に参加しました

あと発表しました。インシデントがあった気もしますが、運営スタッフの機転により重大ななんかは生じなかったですね?何もありませんでしたね?皆々様、本当に大変見苦しい発表になってしまい、申し訳ありませんでした…あまりに見苦しかったために、今日の H…

null さんとのお付き合い

ちょっと暇つぶしに書きます。ついらーで null で盛り上がったので。

scala 関係近況

色々溜まったのでまとめて書きます。Scala Conference in Japan 2013 でスピーカーとして発表させていただくことになりました。内容は、どうせ他の人は functional functional うるさい感じになるだろうと思っていたのと、前々から書きたかったこともあって…

method dependent types と implicit parameters の相性について

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

COMFRK VOL.4 始まります(CV:田村ゆかり)

COMFRK は今年の冬も出るのです。出るのです!去年に同じく三日目「東Y16a」です。既刊もあります。今回は、Scala のマクロを利用して、Scala コードから Javascript コードを生成するお話を書きました。 ちょっと尺とか何も考えずに書いたのでごにょごにょ……

IntelliJ Idea で scala 2.10-RC の macro/reflection について調べるためにしておくと良い設定

情報量ほとんどないんですが、一応書いておきます。生存報告のようなものです。普通に新規に Scala のプロジェクト作っても、デフォルトの設定だと Project Structure -> Modules -> Dependencies -> scala-library には scala-reflect.jar も scala-reflect…

Scala 勉強会 in 本郷で色々発表してきました

88 回、89 回、90 回と発表してきました。基本的に勉強会というのは、時間の割にはそんなに勉強にならないので、どうせなら発表すべきだと思ってるのですが、結構疲れちゃうし、難しいですね。発表内容も半分は仕事内容に関係してるので、発表のための特別勉…

implicit conversion と type class

第5回 スタートHaskell2という 5 なのか 2 なのかはっきりしろみたいな勉強会があったようです。そこで Haskell と Scala という LT を id:xuwei さんがされたようです。行ってないのでなんともかんともですが…さて LT のスライドは前述の通り既に公開されて…

Play 2.0.3 で BodyParser を含めたアクションのテストを行う

久しぶりの更新です。Play 2.0(2.0.3) で、ルーターとアクションのテストを行いたい時は普通以下のように書きます。ドキュメントからの引用です。 "respond to the index Action" in { val Some(result) = routeAndCall(FakeRequest(GET, "/Bob")) status(re…

overload で邪魔な type erasure をなんとかする

型レの話書くの忘れてた…まあいいか。値を何かしらでラップするみたいなことは、まれによくあります。 trait Nanka { type Rep[T] } trait Add extends Nanka { def add(lhs: Rep[Int], rhs: Rep[Int]) def add(lhs: Rep[Int], rhs: Rep[Double]) ... } でま…

type level programming in scala introduction

もう旬を逃した感が少しありますが JavaOne Tokyo の JVM 言語 BOF で、よしださんが Scala 型レベルプログラミングという LT をされました。ボクはその場では聞けなかったのですが、後日 Scala 勉強会第 76 回で聞く機会がありました。JavaOne では 5 分間…

android-plugin で useProguard := true でなければならない理由

なんてことはない、普通にこの問題のためでした。しかし useProguard := false な時に dx で失敗するのでなく、実行時に ClassNotFound になる理由はこの行が原因でした。これはあんまりだよ!予め ProGuard で android 用に shrink しておいた scala-librar…

既存の Android プロジェクトに sbt + android-plugin で scala コードを追加する

java で Android アプリケーションを書くのが嫌になりました。矢張り java より scala でしょう。一から作る場合は giter8 で適当にやれば、特に問題なくできるわけですが、既存のプロジェクトに scala コードを追加する場合、どうやればいいかよく分からな…

Initial Values を利用して Nothing 型の値を作ることは可能か

どうでもいい話な上に長いので、暇な人だけどうぞ。

virtualizing pattern matcher について話しました

Scala 勉強会第 67 回で virtualizing pattern matcher について話しました。スライドはこちら。まあ、まだまだ開発中という感じですね。追記:完全に仕様が変わりました。scala-virtualized の仕様に近くなったのかなあ。

higher-kind type parameter に渡せるもの

小ネタです。以下のトレイトの型パラメタに渡せるのはどのようなものか。 class T[M[_]] 型パラメタを一つ取るジェネリックなクラス。トレイトでもいいけど。これは普通。 class C[A] class TC extends T[C] 型パラメタを二つ取るジェネリックなクラスで、片…

ヘルプ!Scala はアイドル

追記:trunk では直っているようです http://groups.google.com/group/scala-language/browse_thread/thread/3652db621ae18cd5 まあでもメソッドのシグネチャはちゃんと書いたほうがいいよネグループではない。アイドルグループなのは Lisp(LISP) です。それ…

PartialFunction in Haskell

#scala にあって他の関数型言語には見られない機能として、PartialFuncttionがあるが、良いものだと思う(命名は良くない。CheckableFunctionとか他の名前が良かった気がする)。おかげでcollectみたいなメソッドが定義できるし、他にも応用が利く。 という @k…

scalaz.ApplicativeBuilder メモ

fmap :: Functor m => (a -> b) -> m a -> m b apply :: Applicative m => m (a -> b) -> m a -> m b build2 :: (Functor m, Applicative m) => m a -> m b -> (a -> b -> c) -> m c build2 ma mb f = apply (fmap f ma) mb build3 :: (Functor m, Applicati…

Open Recursion in scala もしくは関数型もオブジェクト指向も仲良くしようよぉのお話

追記:これの完全版みたいなのが comfrk vol3 に載ってます。「今夜はお前と俺でマルチパラダイムだからな」とかいうのです。あまりにもアウトプットしなさすぎなので適当に何か書きます。フィボナッチ関数を scala で object-oriented な感じで書いてみます…

"implicit" を調べる

scala 子ネタです。implicit conversion も implicit parameter も便利なわけですが、如何せんどこから降って沸いてきたのか分からない、ということが多いのが困り物です。 例えば Array[T] の先頭要素が欲しいときには、 scala> Array(1, 2, 3).head res0: …

scala で gnu global を使う

gnu global がないと生きていけない体なので scala でも使えるようにしました。ヤッタネェ!https://github.com/lyricallogical/global_scala_support手抜き実装なので、宣言と定義の区別がつかず、宣言も全て定義扱いになってしまいますが、勘弁してくださ…

trait

http://twitter.com/#!/kmizu/status/64556087201906688http://twitter.com/#!/kmizu/status/64556399484612609とりあえず調べてみました。

scala で android アプリケーションを作ってみる

scala はあまり知らないんですが、ちらと遊んでみました。