kmizuの日記

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

2010-01-01から1年間の記事一覧

今年1年をだらだらと振り返ってみる

今日は大晦日なので、せっかくなので今年1年を振り返ってみる。まず、年初に立てた今年の目標 メタプログラミングの会(仮) を開催する JVM Code Readingの会 を開催する NAPL(Nominal types As Programming Languages)の開発 OnionをScalaで書き直す(Onion2…

Scalaのimplicit parameterでC#のdefault(T)を実現する

このエントリはScala Advent Calendar jp 2010の11日目です。また、このエントリはTwitterでの@xuwei_kさんの疑問に答えようと考えて作成したコードが元になっています。どうもありがとうございます。皆さん、C#のdefaultみたいなことScalaでしたくなったこ…

メタプログラミングの会の感想トラックバック用エントリ

この記事は、メタプログラミングの会に関する感想などに関するトラックバック用エントリです。メタプログラミングの会に関してブログで感想を書かれた場合、このエントリまでトラックバックを飛ばしていただければと思います。ちなみに、私のメタプログラミ…

メタプログラミングの会

思えば、@kinabaさん主催の型レベルプログラミングの会に触発されて、今年の年始に、今年の目標の一つとして「メタプログラミングの会」を開催すると決めたのがきっかけでした。それから10月くらいまでずっと忘れていたのですが、色々あって、今年の暮れにな…

JavaとScalaとC#のジェネリクス機能比較表

JavaとScalaとC#のジェネリクスは、いずれも継承を持ったオブジェクト指向言語においてParametric Polymorphismを実現するための手段であり、それぞれ異なった特性を持っている。というわけで、それぞれの言語においてジェネリクスがどのようにサポートされ…

Miles Sabinさん(Scala IDE for Eclipse開発者)とのScala勉強会告知および発表者募集

Scala IDE for Eclipseの主要開発者であるMiles Sabinさんが10月に来日されるということで、@kompiroさん(近藤さん)らが中心となってMiles Sabinさんと話し合った結果、10/19(火) 19:00〜 新宿の豆蔵さんのトレーニングルームにて、Miles Sabin氏とのScalaミ…

就職先が決まりました

って、結構前に既に決まっていたのですが、報告してなかったので一応。今回、就職活動するにあたって、某G社(こっちは落ちた)以外は全て自分のブログのエントリを見て声をかけてくださった会社さん相手にのみ就職活動するというかなり無茶な事をしましたが、…

エンジニアの未来サミット for studentsで登壇します

技術評論社×サイボウズ共催の【エンジニアの未来サミット for students】というイベントが10〜12月にわたって、全3回開催されます。詳細はこちらのページを参照していただくとして、次のような概要になっています。 株式会社技術評論社(本社:東京都新宿区 …

引き続き、第43回情報科学若手の会参加申し込み受け付けてます

前回の参加申し込み締め切りから1ヶ月延長して、現在の締め切りは8/31ですが、まだ若干枠が余っていますので、興味のある方は是非奮ってご参加ください。名前とは裏腹に、それほどあかでみっくでない人も、例年一定数参加されていますし、非アカデミックな人…

第1回 Scala座 参加申し込み受付開始

Scala座であってスカラ座ではありませんのでご注意ください(?)。要は、最近話題の?プログラミング言語Scalaをテーマとした、Scalaのイベントです。Scalaのコアな人が多数参加すると思われるので、Scalaに興味のある方は是非参加をご検討ください。ちなみ…

第43回情報科学若手の会参加申し込み受け付けてます

参加申し込み締め切りまで、あと10日程度ですが、まだまだ若干枠が余っていますので、興味のある方は是非奮ってご参加ください。名前とは裏腹に、それほどあかでみっくでない人も、例年一定数参加されていますし、非アカデミックな人でも十分に楽しんでいた…

刺激を求める技術者に捧げるScala講座 第18回 Scalaとパーザコンビネータ(実装編) が公開されました

前後編に分割された内の後編です(記事へのリンクはこちら)。前編へのリンクはこちらです。既にScalaのパーザコンビネータを触ったことのある方にとっては当たり前の事しか書いてなくて少しばかり退屈かもしれませんが、Scalaを触っているけど、パーザコンビ…

刺激を求める技術者に捧げるScala講座 第17回 Scalaとパーザコンビネータ(基本編) が公開されました

元々、一つの記事として書いていたものですが、長過ぎたので2回分に分割された内の前編です。後編は来週頃公開の予定です(記事へのリンクはこちらです)。既にScalaのパーザコンビネータを触ったことのある方にとっては当たり前の事しか書いてなくて少しばか…

ろーざんぬ!

4月13〜23日にかけて、Scala Daysというワークショップに参加するために、スイスのローザンヌという所まで行ってきました。帰って来てからもう数日経つので今更なのですが、k.inabaさんもローザンヌでの事を書かれたようだし、自分も一応書いておかなければ…

Scala Eclipse Pluginについて重要なこと(新しくScalaを始める人に対して)

とりあえず今は使わない方がいい。Scala 2.7系列(現行の安定バージョン)用のEclipse Pluginはバギーだし挙動がよくおかしくなるし、とてもではないが実用に耐えるものではない。時折、新しくScalaを触る方がScala Eclipse Pluginに手を出して痛い目に合って…

id:kmizushimaは就職活動中です

参考:id:soutaroは就職活動中です実はいわゆるリアルの方での就職活動はようやく始めたところで、既に遅いのではという気がしないのでもないのですが、先輩のid:soutaroさんもそれがきっかけで就職(というか起業?)できたようなので、id:soutaroさんになら…

Scala 3.0の新機能

注意:この記事はエイプリルフールのネタ記事です。エイプリルフールを過ぎてしばらく経つので、まぎらわしいかと思い、ここに書いておくことにします。今年中には、再設計されたコレクションライブラリ、名前付き引数のサポート、部分継続などの数々の新機…

Scala Days 2010で発表することになりました

Twitterで2週間近く前に書いたので既に知っておられる方も居るかもしれませんが、一応宣伝も兼ねて。School DaysScala Days 2010というScalaオンリーのワークショップが、今年の4月15-16日にEPFL(Scalaのお膝元)@スイスのローザンヌというところで行われます…

Scala 2.8へ移行する際の注意点 〜Web Flavorの場合〜

Twitter見ていると、@keisuke_nさんが Web Flavorの話を日記に書くと、約一名反応してくれたw。Scala 2.8に対応してくれ人のこと。正直いうと実装コストがよくわからない>< http://twitter.com/keisuke_n/statuses/9523684805 のような事をポストされてい…

『やさしいScala入門 平明な例と演習問題で学ぶ』の重箱の隅をつつく

『やさしいScala入門 平明な例と演習問題で学ぶ』の感想というかダメだしの続き。言いたいことは前のエントリで一通り言ったので、後は重箱の隅をつつくような話。 本文について 「イミュータブルなプログラミング」? p.3 Scalaでは、純粋関数型言語的なイ…

『やさしいScala入門 平明な例と演習問題で学ぶ』の感想というかダメだし

発売日は2/22だが、秋葉原の書泉で先行販売?されてたので、購入した。この本の著者がこれまでに書いた本の評判がよろしく無いらしいことは、Twitterで事前に情報を入手していたから知っていたので、内容のひどさについてはある程度覚悟していたが、こりゃダ…

PEGEX: PEGEX: a PEG-based pattern matching library EXtended by back reference with regex-like notation in Scala

PEGEXとは、自分が現在開発中の、ScalaによるPEGをベースとしたパターンマッチングライブラリです。従来のPEGは、構文解析などの用途に主として使われることを想定しているからか、シンタックスが「重い」ため*1、簡単な文字列マッチングに使用するにはやや…

Scala Hack-a-thon #2

id:yuroyoroさん主催のScala Hack-a-thon第2回に参加してきました。前回は、話している人がほとんど居なくて、会話の大半がTwitter上で行われるという状態でしたが、今回も似たような感じで会場は終始静まり返っていました。皆、もうちょっと会話して意見交…

第4回Scala言語仕様輪読会@scala-be

前回から結構間があいてしまいましたが、ちゃんと続けます。前回と同じく、Scala言語仕様について、淡々と私(id:kmizushima)が読んで行き、それに対して他の参加者がツッコミを入れるという趣旨の会です。今回は、前回に引き続き、Chapter3 Typesの続きを読…

Scala変態技法最速マスター

Java変態文法最速マスターなんてのがかなりブクマされてるみたいだが、変態さならJavaなんてScalaの足元にも及ばないぜ!!ということで、Scala版を書いてみました。しかし、実はあまり変態ではないかもしれません。元ネタと違って、これを読めば何かがわか…

PEG基礎文法最速マスター

PEG

Scala基礎文法最速マスターを書こうか迷っていたら、既にyuroyoroさんに書かれてしまったので、ちょっと違う方向で。BNFを既に知っている人は、これを読めばPEGの基礎をマスターしてPEGを書くことができるようになるでしょう(ほんとか?)。 基本 Parsing Exp…

PEGのパーサ in Scala

ScalaのパーザコンビネータでParsing Expression Grammar(PEG)の文法を定義してみました。PEGのインタプリタ作る副産物としてできたもので、構文木も作ってくれます。まあ、使いたい人が居るかは激しく疑問ですが、パーサコンビネータの使い方の参考になるか…

Scala 2.8.0 Beta 1

待ちに待った2.8系の初めてのpublic release(betaだけど)。一応、2.8の進捗についてはMLの流れを追ってたんで大体把握してはいるけど、Type constructor inferenceとか、2.8に入るとは思って無かった機能も入っているみたいで嬉しい限り。変更点の概要につい…

FantomのImplicit CastsとOnionの黒歴史(にしたい)自動ダウンキャスト

Onionには以前自動ダウンキャストという今となっては黒歴史にしたい機能が入っていたことがあった*1。どういう機能かというと、たとえば、Object型の変数oをダウンキャストしてString型の変数sに入れたいとする。Javaだと以下のような感じだ。 Object o = ..…

言語雑談会2009年度(2010年) 収支

雑談会: 飲食費 - 3132円 懇親会: - 9943円 懇親会不参加者*2 + 400円 懇親会参加者*15 + 15000円 - + 2325円 黒字分の2325円は来年の言語雑談会に繰り越します。って、これは来年も自分が幹事やるフラグ?