Scala の Macro について

2.10.0-M2 になって Scala に Macro が(まだコンパイルオプションが必要で、試験段階といった感じだが)入って、ここ数日、自分のまわりでなんとなく流行っていたので。 自分の発言とか特に、単に試してみただけであまり正確ではないだろうし、最終的にリリースされるころには色々と仕様変更される可能性(そもそも現状ちゃんとした仕様あるのか?)あるので注意してください
10
Kenji Yoshida @xuwei_k

https://t.co/YPfRhg4L これ読んで、ちょっとだけ試して、 2.10.0-M2 ですでに入っている、macro を説明するなどしました #rpscala

2012-02-22 22:08:39
Kenji Yoshida @xuwei_k

macro を逆コンパイルしたらこんな風になってた #scala http://t.co/nUIijvF0

2012-02-23 21:07:43
拡大
Kenji Yoshida @xuwei_k

えっ #scala の macro は、現状、同じコンパイル単位だと無理なの・・・なんで・・・(´・ω・`) https://t.co/r67xMLRp

2012-02-23 21:57:06
Kenji Yoshida @xuwei_k

おっ、しかも sbt で、ファイル変更の検知はするのに、clean しないと適用されないとかめんどくさい感じの挙動・・・

2012-02-23 22:03:12
Kenji Yoshida @xuwei_k

Scala2.10.0-M2 の状態で、今後インターフェイスが変わる可能性があるなかで、macro のことを blog に書くべきか否か・・・

2012-02-23 22:09:25
Kenji Yoshida @xuwei_k

@halcat0x15a とりあえずこれ読みましょう|ω・`)っ https://t.co/YPfRhg4L

2012-02-23 22:14:06
Kenji Yoshida @xuwei_k

書いた(´・ω・)っ http://t.co/zjIKeADp #Scala の Macro を使って、コンパイル時にフィボナッチ数を計算してみた

2012-02-24 00:24:05
Kenji Yoshida @xuwei_k

Scalaでmacro入るならmacro使ったライブラリをどんどん作るべきだよな。似たような機能のあるNemerleやD言語ですでにライブラリがあって参考にできそうなものがあるなら、ポーティングするとか。すぐにはないだろうけど、標準ライブラリに入ったりすることになるのかな

2012-02-24 02:24:38
Kenji Yoshida @xuwei_k

あー、予想通りだけれども、macro があると、 sxr つくろうとしても、その phase で失敗するなぁ・・・。とりあえず sxr 自体は作成できたから、自分のmaven repositoryにあげてはみたけれども・・・ https://t.co/KGpmPQKp

2012-02-24 02:51:23
Kenji Yoshida @xuwei_k

書いた(`・ω・´)っ http://t.co/uFpzSmpG var を使っている式を渡すと、コンパイルエラーにしてくれる #Scala の Macro

2012-02-24 21:36:21
Kenji Yoshida @xuwei_k

xsbtscript で、 macro が実行できるようにしたいな・・・改造しないと無理だろうな

2012-02-24 21:50:31
しいたけ @yuroyoro

macroがあればコンパイルタイムでDBスキーマからcase class自動生成できたりでActiverRecordパターンをScalaで実装できますよね

2012-02-25 01:15:09
Kenji Yoshida @xuwei_k

scalamacros の document ページには、macro def,macro types,macro annotationsと数種類あるけれど、現在実装されてるのはmacro defのみっぽい(しかも構文がdocumentの例と実装で違う)けど、最終的にどうなるんだろ

2012-02-25 07:29:52
Daniel Capo Sobral @dcsobral

Binary literals through macros and string templates: https://t.co/SnjxGFb0 -- see what I'm saying? @retronym is evil.

2012-02-26 02:16:29
Kenji Yoshida @xuwei_k

Scala の macro に gensym (ユニークな名前生成) ないのかな。とりあえず現状なさそうだな

2012-02-27 03:23:09
Kenji Yoshida @xuwei_k

https://t.co/W8Gmj3KB macrocosm の README 見ていて「"runExpr"っていう、式を評価するやつあるじゃん!」と良い物見つけたと喜んでいたら、それがcompiler側のAPIだと知ってショボーン(´・ω・`)となっているところ

2012-02-27 03:45:39
ねこはる @halcat0x15a

scala-macroが入ったらSQLとかJSONとかのマッピングが簡単かつ安全にできるとゆめに抱いてる。

2012-02-27 15:09:11
Kenji Yoshida @xuwei_k

scalaquery の作者さんが macro に言及してるから、まぁそのうちmacro導入される可能性は大いにあるんじゃないですかね https://t.co/0YUrrpwG

2012-02-27 15:13:18
Kenji Yoshida @xuwei_k

それも今後はmacroでお好きなように決めれる・・・?けど実用的にはないかな https://t.co/G2YwRb1E

2012-02-27 15:18:32
Kenji Yoshida @xuwei_k

変に macro 乱用されるの困るから、はやく誰かよく使うようなもとがひと通りそろった、便利な scala の macro ライブラリ作ってください!

2012-02-27 15:20:23
Kenji Yoshida @xuwei_k

試したら implicit macro def ができるっぽいから、それ使えば SIP13 http://t.co/mVHw83MZ とか Scalaz で無駄なオブジェクトが作られるのも、全部解決するんじゃね?とか勝手に妄想を膨らましている

2012-02-27 20:30:34
Kenji Yoshida @xuwei_k

だがしかし、例をつくるの難しい・・・(´・ω・`)

2012-02-27 20:31:03
Kenji Yoshida @xuwei_k

implicit macro def じゃなく、順番的には implicit def macro か

2012-02-27 20:34:36