Enviar búsqueda
Cargar
Scalamacrosについて
•
Descargar como PPTX, PDF
•
1 recomendación
•
462 vistas
D
dekosuke
Seguir
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 16
Descargar ahora
Recomendados
大人のお型付け
大人のお型付け
Nobuhisa Koizumi
おいしいLisp
おいしいLisp
Kent Ohashi
Functional Way
Functional Way
Kent Ohashi
ALPSチュートリアル(4) Python入門
ALPSチュートリアル(4) Python入門
Computational Materials Science Initiative
BoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうか
Yuki Miyatake
Python で munin plugin を書いてみる
Python で munin plugin を書いてみる
ftnk
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
kikairoya
Fork/Join Framework。そしてLambdaへ。
Fork/Join Framework。そしてLambdaへ。
Yuichi Sakuraba
Recomendados
大人のお型付け
大人のお型付け
Nobuhisa Koizumi
おいしいLisp
おいしいLisp
Kent Ohashi
Functional Way
Functional Way
Kent Ohashi
ALPSチュートリアル(4) Python入門
ALPSチュートリアル(4) Python入門
Computational Materials Science Initiative
BoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうか
Yuki Miyatake
Python で munin plugin を書いてみる
Python で munin plugin を書いてみる
ftnk
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
kikairoya
Fork/Join Framework。そしてLambdaへ。
Fork/Join Framework。そしてLambdaへ。
Yuichi Sakuraba
ナウなヤングにバカうけのイカしたタグ付き共用体
ナウなヤングにバカうけのイカしたタグ付き共用体
digitalghost
C++14 Overview
C++14 Overview
Akira Takahashi
並行プログラミングと継続モナド
並行プログラミングと継続モナド
Kousuke Ruichi
Visual C++で使えるC++11
Visual C++で使えるC++11
nekko1119
Scalaの限定継続の応用と基本
Scalaの限定継続の応用と基本
Kota Mizushima
Testman
Testman
makoto tsuyuki
Effective modern-c++#9
Effective modern-c++#9
Tatsuki SHIMIZU
emc++ chapter32
emc++ chapter32
Tatsuki SHIMIZU
SEH on mingw32
SEH on mingw32
kikairoya
C++コンパイラ GCCとClangからのメッセージをお読みください
C++コンパイラ GCCとClangからのメッセージをお読みください
digitalghost
More C++11
More C++11
京大 マイコンクラブ
Map
Map
kikairoya
C++でHello worldを書いてみた
C++でHello worldを書いてみた
firewood
Real World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみた
blackenedgold
関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml
Haruka Oikawa
CLR/H No.35-2
CLR/H No.35-2
Nobuhisa Koizumi
Effective Modern C++ 読書会 Item 35
Effective Modern C++ 読書会 Item 35
Keisuke Fukuda
研究生のためのC++ no.2
研究生のためのC++ no.2
Tomohiro Namba
Visual C++コード分析を支えるSAL
Visual C++コード分析を支えるSAL
egtra
Emcjp item21
Emcjp item21
MITSUNARI Shigeo
Radhika_Jain_CV
Radhika_Jain_CV
Radhika Jain
Programming Haskell Chapter 11 切符番号選び
Programming Haskell Chapter 11 切符番号選び
dekosuke
Más contenido relacionado
La actualidad más candente
ナウなヤングにバカうけのイカしたタグ付き共用体
ナウなヤングにバカうけのイカしたタグ付き共用体
digitalghost
C++14 Overview
C++14 Overview
Akira Takahashi
並行プログラミングと継続モナド
並行プログラミングと継続モナド
Kousuke Ruichi
Visual C++で使えるC++11
Visual C++で使えるC++11
nekko1119
Scalaの限定継続の応用と基本
Scalaの限定継続の応用と基本
Kota Mizushima
Testman
Testman
makoto tsuyuki
Effective modern-c++#9
Effective modern-c++#9
Tatsuki SHIMIZU
emc++ chapter32
emc++ chapter32
Tatsuki SHIMIZU
SEH on mingw32
SEH on mingw32
kikairoya
C++コンパイラ GCCとClangからのメッセージをお読みください
C++コンパイラ GCCとClangからのメッセージをお読みください
digitalghost
More C++11
More C++11
京大 マイコンクラブ
Map
Map
kikairoya
C++でHello worldを書いてみた
C++でHello worldを書いてみた
firewood
Real World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみた
blackenedgold
関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml
Haruka Oikawa
CLR/H No.35-2
CLR/H No.35-2
Nobuhisa Koizumi
Effective Modern C++ 読書会 Item 35
Effective Modern C++ 読書会 Item 35
Keisuke Fukuda
研究生のためのC++ no.2
研究生のためのC++ no.2
Tomohiro Namba
Visual C++コード分析を支えるSAL
Visual C++コード分析を支えるSAL
egtra
Emcjp item21
Emcjp item21
MITSUNARI Shigeo
La actualidad más candente
(20)
ナウなヤングにバカうけのイカしたタグ付き共用体
ナウなヤングにバカうけのイカしたタグ付き共用体
C++14 Overview
C++14 Overview
並行プログラミングと継続モナド
並行プログラミングと継続モナド
Visual C++で使えるC++11
Visual C++で使えるC++11
Scalaの限定継続の応用と基本
Scalaの限定継続の応用と基本
Testman
Testman
Effective modern-c++#9
Effective modern-c++#9
emc++ chapter32
emc++ chapter32
SEH on mingw32
SEH on mingw32
C++コンパイラ GCCとClangからのメッセージをお読みください
C++コンパイラ GCCとClangからのメッセージをお読みください
More C++11
More C++11
Map
Map
C++でHello worldを書いてみた
C++でHello worldを書いてみた
Real World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみた
関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml
CLR/H No.35-2
CLR/H No.35-2
Effective Modern C++ 読書会 Item 35
Effective Modern C++ 読書会 Item 35
研究生のためのC++ no.2
研究生のためのC++ no.2
Visual C++コード分析を支えるSAL
Visual C++コード分析を支えるSAL
Emcjp item21
Emcjp item21
Destacado
Radhika_Jain_CV
Radhika_Jain_CV
Radhika Jain
Programming Haskell Chapter 11 切符番号選び
Programming Haskell Chapter 11 切符番号選び
dekosuke
Docker module 1
Docker module 1
Liang Bo
プログラミングHaskell 第五章
プログラミングHaskell 第五章
dekosuke
Final special education
Final special education
Dr smriti mona
Data.mapについて
Data.mapについて
dekosuke
Inclusive education
Inclusive education
Dr smriti mona
Destacado
(7)
Radhika_Jain_CV
Radhika_Jain_CV
Programming Haskell Chapter 11 切符番号選び
Programming Haskell Chapter 11 切符番号選び
Docker module 1
Docker module 1
プログラミングHaskell 第五章
プログラミングHaskell 第五章
Final special education
Final special education
Data.mapについて
Data.mapについて
Inclusive education
Inclusive education
Similar a Scalamacrosについて
Phantom Type in Scala
Phantom Type in Scala
Yasuyuki Maeda
Everyday Life with clojure.spec
Everyday Life with clojure.spec
Kent Ohashi
並列対決 Elixir × Go × C# x Scala , Node.js
並列対決 Elixir × Go × C# x Scala , Node.js
Yoshiiro Ueno
言語アップデート -Scala編-
言語アップデート -Scala編-
Kota Mizushima
ATN No.2 Scala事始め
ATN No.2 Scala事始め
AdvancedTechNight
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
y_taka_23
10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!
bitter_fox
Scala on Hadoop
Scala on Hadoop
Shinji Tanaka
Trait in scala
Trait in scala
Yuta Shimakawa
Rpscala2011 0601
Rpscala2011 0601
Hajime Yanagawa
Scalaで型クラス入門
Scalaで型クラス入門
Makoto Fukuhara
R新機能抄出
R新機能抄出
Masafumi Okada
MoteMote Compiler Plugin
MoteMote Compiler Plugin
yoshiaki iwanaga
Apache Spark チュートリアル
Apache Spark チュートリアル
K Yamaguchi
Scala2.8への移行
Scala2.8への移行
guest5f4320
Scala2.8への移行
Scala2.8への移行
Takeda Hiroyuki
Hokuriku Scala 1
Hokuriku Scala 1
NISHIMOTO Keisuke
Kobe.R #15 - Incanter チョットシッテル
Kobe.R #15 - Incanter チョットシッテル
tnoda
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発
papamitra
Scalaで萌える関数型プログラミング[1.1.RC1]
Scalaで萌える関数型プログラミング[1.1.RC1]
Ra Zon
Similar a Scalamacrosについて
(20)
Phantom Type in Scala
Phantom Type in Scala
Everyday Life with clojure.spec
Everyday Life with clojure.spec
並列対決 Elixir × Go × C# x Scala , Node.js
並列対決 Elixir × Go × C# x Scala , Node.js
言語アップデート -Scala編-
言語アップデート -Scala編-
ATN No.2 Scala事始め
ATN No.2 Scala事始め
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!
Scala on Hadoop
Scala on Hadoop
Trait in scala
Trait in scala
Rpscala2011 0601
Rpscala2011 0601
Scalaで型クラス入門
Scalaで型クラス入門
R新機能抄出
R新機能抄出
MoteMote Compiler Plugin
MoteMote Compiler Plugin
Apache Spark チュートリアル
Apache Spark チュートリアル
Scala2.8への移行
Scala2.8への移行
Scala2.8への移行
Scala2.8への移行
Hokuriku Scala 1
Hokuriku Scala 1
Kobe.R #15 - Incanter チョットシッテル
Kobe.R #15 - Incanter チョットシッテル
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発
Scalaで萌える関数型プログラミング[1.1.RC1]
Scalaで萌える関数型プログラミング[1.1.RC1]
Más de dekosuke
Ga nonogram
Ga nonogram
dekosuke
Machine learning @ PyFes 2011.10
Machine learning @ PyFes 2011.10
dekosuke
スマートフォンについて その1
スマートフォンについて その1
dekosuke
Javascript本19章まとめ
Javascript本19章まとめ
dekosuke
Android UIの罠
Android UIの罠
dekosuke
スタートHaskell 第二章
スタートHaskell 第二章
dekosuke
Más de dekosuke
(6)
Ga nonogram
Ga nonogram
Machine learning @ PyFes 2011.10
Machine learning @ PyFes 2011.10
スマートフォンについて その1
スマートフォンについて その1
Javascript本19章まとめ
Javascript本19章まとめ
Android UIの罠
Android UIの罠
スタートHaskell 第二章
スタートHaskell 第二章
Último
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Último
(11)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Scalamacrosについて
1.
Scalamacrosについて
@dekosuke
2.
自己紹介 twitter@dekosuke Webエンジニア@D社
機械学習とHaskell 2
3.
はじめに マクロの話をします Scalamacros(ライブラリ、というより提案)の
紹介をします 3
4.
はじめに Scalamacrosは 提案なので 現在ではなく 未来の話です
4
5.
コンパイル時メタプログラミング スカラのコンパイラが実行される前に何かやり
たいですよね 要するにマクロ(プリプロセッサ) Scalaにはコンパイラプラグインがあって、 scalacの各段階で処理が挟めます(scala- virtualizedとかは使ってるらしいです) Scalamacrosの話をしましょう! 5
6.
Scalamacros Scalamacros (Project Kepler)
by Eugene Burmako http://scalamacros.org/ Scalaにマクロを持ち込みたい! 6
7.
マクロの悪名
C言語のマクロは悪名高い 7
8.
マクロの悪名
C言語のマクロは悪名高い そもそもC++のテンプレートが提案された理由 はC言語マクロほど凶悪でないプリプロセッサ がほしからでした 8
9.
Project Keplerのマクロ C言語と違って Scalaそのもので書かれている(言語外の何かで
はない) 式木の上での変換(生の文字列を操作したりし ない) Scalaの文法を変えない 9
10.
Project Keplerのマクロ (マクロの利点として) コード自動生成と違ってコード量が増えない
10
11.
例: 型安全なprintf (関数マクロ) //こんなマクロを書くと macro
def printf(format: String, params: Any*) { val (evals, refs) = parse(format, params) val seq = evals + refs.map(x => c"print($x)") c"$seq" } //型安全なprintfが printf("Value = %d", 123 + 877) //こう展開されるよ val p1 = (123 + 877): Int print("Value = "); print(p1) 11
12.
例:DB (型マクロ) macro trait
MySqlDb(connString: String) = … type MyDb = Base with MySqlDb("Server=127.0.0.1;Database=Foo;") Scalaの文法の自然な拡張(意味のないおまじな いを増やさない) 12
13.
Boilerplate
言語のおまじない 「すべてのBoilerplateを消し去りたい!」 trait TupledFunctions extends Functions with TupleOps { implicit def fun[A1:Manifest,A2:Manifest,B:Manifest](f: (Rep[A1], Rep[A2]) => Rep[B]) : Rep[((A1,A2))=>B] = fun((t: Rep[(A1,A2)]) => f(tuple2_get1(t), tuple2_get2(t))) implicit def fun[A1:Manifest,A2:Manifest,A3:Manifest,B:Manifest](f: (Rep[A1], Rep[A2], Rep[A3]) => Rep[B]) : Rep[((A1,A2,A3))=>B] = fun((t: Rep[(A1,A2,A3)]) => f(tuple3_get1(t), tuple3_get2(t), tuple3_get3(t))) ... } 13
14.
現状 “being specified
and refined within a Scala improvement process (aka SIP #14).” 14
15.
End
16.
作者HP
作者HP見ると時系列的な進行が分かるよ! http://xeno-by.blogspot.com/ 16
Descargar ahora