kmizuの日記

プログラミングや形式言語に関係のあることを書いたり書かなかったり。

2009-05-01から1ヶ月間の記事一覧

第15回未来会議終了

なんとか無事に終了しました。参加していただいた皆様、どうもありがとうございました。特に、元々は金曜夜の短い時間を使ってやっていた内輪向けイベントに、つくばの外から来て、話を盛り上げてくださったk.inabaさん、m0h1canさん、車を出してくれた_tad_…

第15回未来会議:連絡先について

今回、つくばの外からお越しの方も居られるので、連絡先をさらしておきます。会場の場所がわからない、などの場合遠慮無く連絡していただければと思います。 メールアドレス:mizukota+mobile アットマーク gmail.com(携帯に転送されます) 電話番号:090さん…

Extractorを使った正規表現ライブラリの簡易ラッパー

Scalaの正規表現ライブラリは、Javaの正規表現ライブラリのラッパーになっていて、Javaのものよりもだいぶ使いやすくはなっているが、パターンマッチに使う時は、以下のように必ずvalなどでいったん変数に代入しなければならないという欠点がある。 scala> v…

S-99: Ninety-Nine Scala Problems(P11-P20)を解いてみた

S-99: Ninety-Nine Scala Problems(P01-P10)を解いてみたの続き。今回は、表題の通り、P11-P20までを解いてみた。とりあえず最初の回答を作るまでに大体50分くらい。その後、dropとrotateについて題意を勘違いしていたのに気づいてコードを修正。以下、回答…

ひょっとしたら役に立つかもしれないScala Tips(3) 二項演算子を行頭に置く

Scalaの場合、パーザコンビネータでパーザ書いてる時によくあることなのだが、読みやすさのために、以下のように行頭に二項演算子を置いて式をつなげたい、ということがしばしばある。 lazy val statement: Parser[Statement] = ifStatement | forStatement |…

[Scala] Scalaユーザ会

Scalaユーザ会で、「知っていると役に立つかもしれないScala言語 Tips」という題目で発表してきました。Scala言語 Tipsといいつつ、実体はScala言語仕様を参照しつつ、Scalaの重箱の隅をつつくような内容で、聴講者の層を考えると、テーマ選択を誤ったかなあ…

第15回未来会議(5/30)

昨年の後半に第14回を開催してから、長らく中断していましたが、今月末に第15回未来会議を開催します。 日時:05月30日(土) 13:00〜 場所:筑波大学 3C213 情報学類生控室(第三エリアC棟2階) 発表者: id:ranha君 id:TELL君 他 プログラム:未定(決定次第追…

S-99: Ninety-Nine Scala Problems(P01-P10)を解いてみた

S-99: Ninety-Nine Scala Problemsというのは、P-99: Ninety-Nine Prolog Problemsが元ネタの、99個の小問題をScalaで解いてみるというもので、実際に99個の難易度の異なる問題が用意されている。一気に99個やるのはきついので、今日はとりあえず最初の10問(…

限定継続を実現するScalaコンパイラプラグインを試してみる

現在、Scalaでファーストクラスの継続を扱うことはできないが、Scala 2.8からは、コンパイラプラグインという形で、限定継続(Delimited Continuation)を扱う機能が提供されることになっている。2.8は未だリリースされていないが、Scala 2.8のnightly buildと…

Re: 勉強帳 (1)

まめめもより。 Scala を勉強してみます。売り文句だけ見てみると 1. 手続き型でも関数型でも書ける 2. 純粋なオブジェクト指向 3. 柔軟な文法で DSL しやすい 4. パターンマッチ 5. 静的型付け (ジェネリクスあり) 6. JVM で動く (Java の資産を活用できる)…

今までどのくらいプログラミング言語を触ってきたか(3秒で飽きたものも含む)

今までどのくらいプログラミング言語を触ってきたか(3秒で飽きたものも含む)今までどのくらいプログラミング言語を触ってきたか(3秒で飽きたものも含む)King of Programming Language - 今までどのくらいプログラミング言語を触ってきたか(3秒で挫折したもの…