kmizuの日記

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

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

過敏性腸症候群という病気

注意 以下は、お腹壊すとかそういう系統の話になりますので、苦手な方は読むのをご遠慮ください。 皆様、こんにちは。@kmizuです。そういえば、今日はScalaMatsuri 2016の2日目でしたね。私は何をしてたかと言えば、風邪&下痢で寝込んでいました。1日目も…

Scalaのマクロは「実験的」(experimental)な機能です

タイトルがほとんど全てを表していますが、念のため説明します。 Scala 2.10からマクロが言語機能として導入され、Scala 2.11でも維持されています。ただし、あくまで現状のマクロは「実験的」な機能であり、ファイル毎に import scala.language.experimenta…

構文解析勉強会Vol.2 開催します

parser.connpass.com の続編です。 parser.connpass.com 前回は、話題をPEGに限定していましたが、今回は、いわゆるTop-down構文解析全般を扱います。よく知られているLL(1)から、比較的最近のGLL、LL(*)までを取り扱えればと思います(あくまで努力目標です…

Scala doesn't Need Generics! (or You can Encode Generics Using Abstract Type Members)

タイトルは煽りではありません。もちろん、Scalaを実用的に使う上では「直接」Genericsを扱えないのは困ります。しかし、記述の冗長ささえ我慢すればGenericsのほぼ全ての機能をAbstract Type Membersによって表現できます。このことを指して、GenericsはAbs…

入門fastparse(1) ~四則演算評価器を作ってみた~

fastparseというScala用パーザコンビネータライブラリがあります。このライブラリ、Scala標準のパーザコンビネータライブラリよりかなり速い(ここの説明によると100倍速いそうな)というウリらしく、Scala標準のパーザコンビネータライブラリから乗り換えてみ…