2016-01-01から1ヶ月間の記事一覧
注意 以下は、お腹壊すとかそういう系統の話になりますので、苦手な方は読むのをご遠慮ください。 皆様、こんにちは。@kmizuです。そういえば、今日はScalaMatsuri 2016の2日目でしたね。私は何をしてたかと言えば、風邪&下痢で寝込んでいました。1日目も…
タイトルがほとんど全てを表していますが、念のため説明します。 Scala 2.10からマクロが言語機能として導入され、Scala 2.11でも維持されています。ただし、あくまで現状のマクロは「実験的」な機能であり、ファイル毎に import scala.language.experimenta…
parser.connpass.com の続編です。 parser.connpass.com 前回は、話題をPEGに限定していましたが、今回は、いわゆるTop-down構文解析全般を扱います。よく知られているLL(1)から、比較的最近のGLL、LL(*)までを取り扱えればと思います(あくまで努力目標です…
タイトルは煽りではありません。もちろん、Scalaを実用的に使う上では「直接」Genericsを扱えないのは困ります。しかし、記述の冗長ささえ我慢すればGenericsのほぼ全ての機能をAbstract Type Membersによって表現できます。このことを指して、GenericsはAbs…
fastparseというScala用パーザコンビネータライブラリがあります。このライブラリ、Scala標準のパーザコンビネータライブラリよりかなり速い(ここの説明によると100倍速いそうな)というウリらしく、Scala標準のパーザコンビネータライブラリから乗り換えてみ…