Soumettre la recherche
Mettre en ligne
Scalalr
•
0 j'aime
•
368 vues
I
ichikaz3
Suivre
Scalalr
Lire moins
Lire la suite
Logiciels
Signaler
Partager
Signaler
Partager
1 sur 25
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Scalaで萌える関数型プログラミング[エッセンシャル版]
Scalaで萌える関数型プログラミング[エッセンシャル版]
Ra Zon
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
yujiro_t
Scala勉強会_2014_11_18
Scala勉強会_2014_11_18
Shuya Tsukamoto
Scalaはじめました!
Scalaはじめました!
Asami Abe
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Asami Abe
ScalaでBacklogの通知bot作ったで
ScalaでBacklogの通知bot作ったで
Asami Abe
Java使いにとっての関数
Java使いにとっての関数
amkt922
Scala.js触ってみた
Scala.js触ってみた
Asami Abe
Recommandé
Scalaで萌える関数型プログラミング[エッセンシャル版]
Scalaで萌える関数型プログラミング[エッセンシャル版]
Ra Zon
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
yujiro_t
Scala勉強会_2014_11_18
Scala勉強会_2014_11_18
Shuya Tsukamoto
Scalaはじめました!
Scalaはじめました!
Asami Abe
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Asami Abe
ScalaでBacklogの通知bot作ったで
ScalaでBacklogの通知bot作ったで
Asami Abe
Java使いにとっての関数
Java使いにとっての関数
amkt922
Scala.js触ってみた
Scala.js触ってみた
Asami Abe
Scala基礎勉強会 懇親会LT
Scala基礎勉強会 懇親会LT
pocketberserker
Lets scala
Lets scala
smdkk
Beginners Scala in FAN 20121009
Beginners Scala in FAN 20121009
Taisuke Shiratori
ADVENTAR の Bot を作る with Haskell
ADVENTAR の Bot を作る with Haskell
Nobutada Matsubara
頑張りすぎないScala
頑張りすぎないScala
takezoe
SQLドリルの話(仮)
SQLドリルの話(仮)
Yuuki Tan-nai
[Scalamatsuri2016]あ、社内コミュニティ
[Scalamatsuri2016]あ、社内コミュニティ
hirotakanosato
Scalaの現状と今後
Scalaの現状と今後
Kota Mizushima
Scalaによるドメイン特化言語を使ったソフトウェアの動作解析
Scalaによるドメイン特化言語を使ったソフトウェアの動作解析
Yamagata Yoriyuki
Scala.jsはじめました!
Scala.jsはじめました!
K Kinzal
セマンテックウェブとRDFDB
セマンテックウェブとRDFDB
Hirosuke Asano
Scala Performance Tuning Tips
Scala Performance Tuning Tips
Kota Mizushima
Javascript as an Embedded DSL - Expression Problemの解法例
Javascript as an Embedded DSL - Expression Problemの解法例
Yasuyuki Maeda
こわくないScala
こわくないScala
FScoward
Scala Daysに行ってみて
Scala Daysに行ってみて
Kota Mizushima
ScalaでASICやFPGA用の回路を設計するChisel
ScalaでASICやFPGA用の回路を設計するChisel
Kei Nakazawa
SDL2の紹介
SDL2の紹介
nyaocat
Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[完全版]
Ra Zon
Contenu connexe
Tendances
Scala基礎勉強会 懇親会LT
Scala基礎勉強会 懇親会LT
pocketberserker
Lets scala
Lets scala
smdkk
Beginners Scala in FAN 20121009
Beginners Scala in FAN 20121009
Taisuke Shiratori
ADVENTAR の Bot を作る with Haskell
ADVENTAR の Bot を作る with Haskell
Nobutada Matsubara
頑張りすぎないScala
頑張りすぎないScala
takezoe
SQLドリルの話(仮)
SQLドリルの話(仮)
Yuuki Tan-nai
[Scalamatsuri2016]あ、社内コミュニティ
[Scalamatsuri2016]あ、社内コミュニティ
hirotakanosato
Tendances
(7)
Scala基礎勉強会 懇親会LT
Scala基礎勉強会 懇親会LT
Lets scala
Lets scala
Beginners Scala in FAN 20121009
Beginners Scala in FAN 20121009
ADVENTAR の Bot を作る with Haskell
ADVENTAR の Bot を作る with Haskell
頑張りすぎないScala
頑張りすぎないScala
SQLドリルの話(仮)
SQLドリルの話(仮)
[Scalamatsuri2016]あ、社内コミュニティ
[Scalamatsuri2016]あ、社内コミュニティ
Similaire à Scalalr
Scalaの現状と今後
Scalaの現状と今後
Kota Mizushima
Scalaによるドメイン特化言語を使ったソフトウェアの動作解析
Scalaによるドメイン特化言語を使ったソフトウェアの動作解析
Yamagata Yoriyuki
Scala.jsはじめました!
Scala.jsはじめました!
K Kinzal
セマンテックウェブとRDFDB
セマンテックウェブとRDFDB
Hirosuke Asano
Scala Performance Tuning Tips
Scala Performance Tuning Tips
Kota Mizushima
Javascript as an Embedded DSL - Expression Problemの解法例
Javascript as an Embedded DSL - Expression Problemの解法例
Yasuyuki Maeda
こわくないScala
こわくないScala
FScoward
Scala Daysに行ってみて
Scala Daysに行ってみて
Kota Mizushima
ScalaでASICやFPGA用の回路を設計するChisel
ScalaでASICやFPGA用の回路を設計するChisel
Kei Nakazawa
SDL2の紹介
SDL2の紹介
nyaocat
Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[完全版]
Ra Zon
Similaire à Scalalr
(11)
Scalaの現状と今後
Scalaの現状と今後
Scalaによるドメイン特化言語を使ったソフトウェアの動作解析
Scalaによるドメイン特化言語を使ったソフトウェアの動作解析
Scala.jsはじめました!
Scala.jsはじめました!
セマンテックウェブとRDFDB
セマンテックウェブとRDFDB
Scala Performance Tuning Tips
Scala Performance Tuning Tips
Javascript as an Embedded DSL - Expression Problemの解法例
Javascript as an Embedded DSL - Expression Problemの解法例
こわくないScala
こわくないScala
Scala Daysに行ってみて
Scala Daysに行ってみて
ScalaでASICやFPGA用の回路を設計するChisel
ScalaでASICやFPGA用の回路を設計するChisel
SDL2の紹介
SDL2の紹介
Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[完全版]
Scalalr
1.
Scalalr: Scala上でいい感じの見た目の DSLを作るためのライブラリ
2.
• Twitter: @phenan •
Github: phenan • 今日の話: 面白いライブラリを作ったので紹介します
3.
こんな感じでDSLを定義する
4.
JValue のDSL
5.
こうかいて これをよびたい JValue のDSL
6.
こうかいて これをよびたい カンマくぎり JValue のDSL
7.
JValue のDSL JSONのObjectの かきかた Objectのそれぞれの プロパティ
8.
こんな感じで使える!
9.
こんな感じで使える! これ
10.
これ こんな感じで使える!
11.
これ こんな感じで使える! これ
12.
括弧がいっぱいある
13.
括弧は言語の境界を表す JSON DSLに Scala value をわたしている
14.
括弧は言語の境界を表す Scalaに JSON DSLを わたしている 1ライナーのDSLなら()はいらない
15.
注目してほしい点
16.
Scala でこんなの書けたっけ?
17.
Scala でこんなの書けたっけ? [a, b]
?
18.
Scala でこんなの書けたっけ? [a, b]
? : のあとは タイプでは?
19.
Scala でこんなの書けたっけ? [a, b]
? : のあとは タイプでは? {a, b} ?
20.
コンパイラ拡張?
21.
いいえ、 素のScalaです
22.
Font Ligature 実は…
23.
Font Ligature ValidなScalaコード
24.
Scalalr • 専用フォントScaligの利用を前提としたコードを生成する • DSLの見た目を自由に変えられるよ!やったね! •
コンパイルに時間がかかるのがちょっとした問題 * 100要素のJSONの配列のコンパイルに3時間以上かかった • 地味に打つのが面倒なのでエディタサポートも開発したい • https://github.com/phenan/scalalr
25.
技術的詳細 • @dsl はアノテーションマクロ •
implicit parameter を悪用してコンパイル時 LALR 構文解析 • 型 → 非終端記号 (文法を表現するやつ) • 任意の部分式を括弧で括ったScala式で置き換え可能にするために ちょっと複雑なことをしている • この手法を応用して字句解析を変更可能にすることもできる (はず) • アンカンファレンスで話してみたい (けどスライドは用意してない)
Télécharger maintenant