狠狠撸

狠狠撸Share a Scribd company logo
??????
????????
@ SATYSFI Conf 2021
2021 ? 6 ? 26 ?
( @bd_gfngfn)
??????????
? ??Μ???? ?????Β??
? Θ?????? μ???!
??
2
??????????
? ??Μ???? ?????Β??
? Θ?????? μ???!
※??ΖΜ???????Θ??????
? SATYSFI ?????????
– ???????Τ??????????Λ v0.0.6 ????ε
? ?Ε?????????????????????
– ?δ???γε??? F-ing modules ???Ε?????????
– OpenType ?Π?????????? otfm → otfed
? Sesterl ??????????????Λ?????????
– ?ΒΕ??????????????? SATYSFI ???Ο?υ?ο?????
????ΕΒ??????????
??
3
? ??????Ε???
? ??? PR ?
? ???????Τ????????
? ????????
? ?Υ?τσ??μ/Τ???μ???
? ?δ???γε??? F-ing modules ?
? ???
? v0.0.6 (2021-02-06)
– ???????? linear-transform-graphics [@monaqa]
– ???? page-break-multicolumn
– overfull/underfull ???Φ?γ?? —-debug-show-overfull
– ?????????ΑΔ??????CHANGELOG ???
???????
5
? v0.0.6 (2021-02-06)
– ???????? linear-transform-graphics [@monaqa]
– ???? page-break-multicolumn
– overfull/underfull ???Φ?γ?? —-debug-show-overfull
– ?????????ΑΔ??????CHANGELOG ???
? v0.0.7 ??
– ???ΝΠ????? read-file [@puripuri2100]
– document information dictionary ?? [@puripuri2100]
– ???????υ?? Ruby ???? [@leque]
? vminstdef.yaml ???? vminst.ml ???
– ???????????????? Unicode ??υ?Π?τ????
? set-math-char? Roman, Italic ??ελΠ????????????
???????
6
? ??????Ε???
? ??? PR ?
? ???????Τ????????
? ????????
? ?Υ?τσ??μ/Τ???μ???
? ?δ???γε??? F-ing modules ?
? ???
? ??????????????Τ??????????
? ???????????????????
???????????????Δ
? ??υΩ???τ????????????????σ?λ?
?????Δ?????Ε??
??Β?? ?????????Ε?????????
8
????? DSL? ???Λ???????ε?Δ???υΛ
???Δ
??Β?? φΠ??????
9
amidakuji(```
|X|-|=|/| |
| |-||-|X|
|=|X|-||=|
|-||-|=|-|
|X|=|-|| |
```);
amidakuji([
[Cross ; Line ; … ];
[Empty ; Line ; … ];
[Double; Cross; … ];
…
]);
???υ??????????????????????ΘΕΔ??
DSL ???????????ΘΕ???Τ??????????
? Τ???????Δ???????Γ
????? DSL ???????Ε?Α???
???????Λ?????????ΔΑ???Α?
????????????????????Δ????????
??????? [Davies 1996] [Taha  Sheard 2000] ??????????Α?
??Β?? φΠ????????????????
10
? ????????ε??δ???Ε????Λ??????
??ΕΛ????????????γε??
– stage 0, 1, 2, … ???ε??δ???ε??δ???υΛ??
? ???? stage 0???????? stage 1???????????
– Lisp ? quasiquote ??Δ
– ?? MetaML [Taha  Sheard 2000]?MetaOCaml [Kiselyov 2014]
?????????
? ??????????υ?????Δ
– ??????????????????????????????????
??Β?? ?????????
11
? ??????????Α????????
– ~(…) ????????ΘΕΔ stage 0 ?????
– ~ ??????????υ???????????ΘΕΔ stage 1 ???
? ???????Α????Ε?????ΑΓ????????ΕΔ
? ????????????????υ????
????ΘΔ????????????Ε?
“?????” Τ??????
? MacroML [Ganz, Sabry  Taha 2001]
?????????????
???????????
12
repeat@~(3){foo}
% ??????λΠ?????
% ???Β foofoofoo ?????????????Δ
amidakuji@~(```
|X|-|=|/| |
| |-||-|X|
|=|X|-||=|
|-||-|=|-|
|X|=|-|| |
```);
? ?????? ????????????????
Τ?????Λ???Δ???????Λ?????
– DSL ?????????????????
???????????????Π?????????Δ
– @`…` ???υ??????Γ??Δ??????????Δ
– @`…` : string * input-position
– get-input-position : input-position - string * int * int
???????????
13
amidakuji@~(@```
|X|-|=|/| |
| |-||-|X|
|=|X|-||=|
|-||-|=|-|
|X|=|-|| |
```);
?Γ??
(?ΝΠ??, ??, ???)
14
σ?? ??????????ΕΔ??
https://drive.google.com/file/d/1l9HeT6Hn_lNn0ptVobVDYwW6T9A8xKvZ/view?usp=sharing
15
σ?? DSL ??υ????Τ????Δ??
https://drive.google.com/file/d/1pbTOSWiflEkTghS3TzlerG5NCcb2iIoI/view?usp=sharing
? ??????Ε???
? ??? PR ?
? ???????Τ????????
? ????????
? ?Υ?τσ??μ/Τ???μ???
? ?δ???γε??? F-ing modules ?
? ???
? σ??μ/Τ???μ??Λ??Δ?????
– ?Υ?τ??Λ SATYSFI ?????????ΔΑ?????
? ???Χ?χ?????????????? feature ? on/off ????
? ???Οο?ε??ε?????ΔΑ???Δ etc.
– ???η??λ??
– ???? OCaml ??Υ?τ??Λ??Γ????
??????? 10 ??Β????????????Δ?????
? ??? ?????Π??? otfm Λ??????????
– github.com/dbuenzli/otfm → github.com/gfngfn/otfm
– ??????ε??τ???????ετ??
– ?????Ε????Λ???????????
?Υ?τσ??μ/Τ???μ???
17
? ???θ??Β otfed ????Π???Λ????
– github.com/gfngfn/otfed
– ???????????? otfm ?α??τ??Λ????????
? PDF ???????????? OK
– ε??τ?ε??Δ????ετ???Δ
– OCaml ????????? OpenType ?Π?????????
– ?δ?????Λ?????? OPAM ??????
?Υ?τσ??μ/Τ???μ???
18
???Θ??
? ??????Ε???
? ??? PR ?
? ???????Τ????????
? ????????
? ?Υ?τσ??μ/Τ???μ???
? ?δ???γε??? F-ing modules ?
? ???
? ?ο??δ?????????????????????
???????????????????ΓΞυ?ο?
– ??ο??δ?ΝΠ???????Λ???
τ??δΧ?ι?τ??1??????????????
? ????ο??δ????????????????Δ
? ????????????ο??δ????Ε??????ε?????Δ
– ?δ????????????????Δ??
??????????????????????
? ??Λ?δ?????Β???Δ?????????????
?Υ?τ??????ο??δ?????????Γ???
?ο??δ??δ??????
20
% ?ΝΠ???????ο??δΛ??
@require: stdjareport
@require: code
?
? ?δ???γε??????????
F-ing modules [Rossberg, Russo  Dreyer 2014] Λ?????Λα??τ
– ?Ε???δ???
– ?Ν??λ??“?δ???Λ?δ???????????”??????
? 1 ?ο??δ??? 1 ?δ????????Δ??????Δ
– ???Β?????δ???Λ?Ε???Ε?Α?
– ???ΝΠ??????Δ???????????Δ
? @require ??????????ο??δ??ε?????Ε??
– ?????????????????????Δ??
SATYSFI ?????????????? Sesterl ??ΕΒ????Λ
?Μ???????????????????Ζ???????Ε?
???
21
??Β?? ?Ν??λ??Δ?????????
22
@require code
module PyCode =
Code.Make(struct
val base-font = (`Menlo`, 1., 0.)
val highlight = Code.Syntax.python3
end)
?
{… PyCode.show(`print(“Hi!”)`); …}
? ?????
– code ???υ?Α?????ΕΔ?Υ?τ?????
– ??Λ???Δ API ???????????Δ??????
? ??????
@require code
?
{… code(`print(“Hi!”)`); …}
?Ν??λCode.Make?
ελΠ?????δ???Λ???
??????Ε???Λ
PyCode????δ????????
? ????????Ε?Γ??????
– refactor-internal ???branch?????????Ν?λ?????
– ???? ?3600???1900? ???????????????Β??
? ????????????δ???γε???????????????Ζ?
– mutable reference
? relaxed value restriction [Garrigue 2004] ???????????Δ
? ??Ε???? monadic ???????????
– ???????
? ????????????????????????????
– Satyrographos [@na4zagin3] ???????????
? ????? SATYSFI ? OPAM ?ο??δ????Δ??Λ????
??????????????ΕΔ??
23
? ??????Ε???
? ??? PR ?
? ???????Τ????????
? ????????
? ?Υ?τσ??μ/Τ???μ???
? ?δ???γε??? F-ing modules ?
? ???
? ???????
– ????
– ???????Τ?????Λ???Δ???????
– ????????υ?Π?τ???
– ?????? PR?
? ???Οο?ε?????????????ΝΠ??????
Ruby ???????etc.
? ????????
– ?Υ?τσ??μ/Τ???μ???????
– F-ing modules ???????δ???γε?????
???
25
? Rowan Davies. A temporal-logic approach to binding-time analysis. In Proc. of LICS’96, pages
184–195, 1996.
? Martin Elsman, Troels Henriksen, Danil Annenkov, and Cosmin E. Oancea. Static interpretation
of higher-order modules in Futhark: functional GPU programming in the large. In Proc. of
ICFP’18, Article 97, 2018.
? Steve Ganz, Amr Sabry, and Walid Taha. Macros as multi-stage computations: type-safe,
generative, binding macros in MacroML. In Proc. of ICFP’01, pages 74–85, 2001.
? Jacques Garrigue. Relaxing the Value Restriction. In Functional and Logic Programming.
FLOPS 2004. Lecture Notes in Computer Science, vol 2998, 2004.
? Oleg Kiselyov. The design and implementation of BER?MetaOCaml. In Functional and Logic
Programming. FLOPS 2014. Lecture Notes in Computer Science, vol 8475, 2014.
? Andreas Rossberg, Claudio Russo, and Derek Dreyer. F-ing modules. Journal of Functional
Programming, 24(5), pp. 529–607, 2014.
? Walid Taha and Tim Sheard. Multi-stage programming with explicit annotations. Theoretical
Computer Science, 248 (1-2), pages 211–242, 2000.
??????
26

More Related Content

What's hot (20)

最尤推定法(狈狈での応用)
最尤推定法(狈狈での応用)最尤推定法(狈狈での応用)
最尤推定法(狈狈での応用)
MatsuiRyo
?
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
RyuichiKanoh
?
プログラムを高速化する话
プログラムを高速化する话プログラムを高速化する话
プログラムを高速化する话
京大 マイコンクラブ
?
组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门
组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门
组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门
Norishige Fukushima
?
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
Takuya Akiba
?
充足可能性问题のいろいろ
充足可能性问题のいろいろ充足可能性问题のいろいろ
充足可能性问题のいろいろ
Hiroshi Yamashita
?
Lucas kanade法について
Lucas kanade法についてLucas kanade法について
Lucas kanade法について
Hitoshi Nishimura
?
明日使えないすごいビット演算
明日使えないすごいビット演算明日使えないすごいビット演算
明日使えないすごいビット演算
京大 マイコンクラブ
?
笔颁础の最终形态骋笔尝痴惭の解説
笔颁础の最终形态骋笔尝痴惭の解説笔颁础の最终形态骋笔尝痴惭の解説
笔颁础の最终形态骋笔尝痴惭の解説
弘毅 露崎
?
Visual Studio CodeでRを使う
Visual Studio CodeでRを使うVisual Studio CodeでRを使う
Visual Studio CodeでRを使う
Atsushi Hayakawa
?
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
Ken'ichi Matsui
?
最适输送入门
最适输送入门最适输送入门
最适输送入门
joisino
?
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Yusuke Uchida
?
笔翱惭顿笔下での强化学习の基础と応用
笔翱惭顿笔下での强化学习の基础と応用笔翱惭顿笔下での强化学习の基础と応用
笔翱惭顿笔下での强化学习の基础と応用
Yasunori Ozaki
?
Union find(素集合データ構造)
Union find(素集合データ構造)Union find(素集合データ構造)
Union find(素集合データ構造)
AtCoder Inc.
?
阶层モデルの分散パラメータの事前分布について
阶层モデルの分散パラメータの事前分布について阶层モデルの分散パラメータの事前分布について
阶层モデルの分散パラメータの事前分布について
hoxo_m
?
色々なタ?イクストラ高速化
色々なタ?イクストラ高速化色々なタ?イクストラ高速化
色々なタ?イクストラ高速化
yosupo
?
时系列予测に罢谤补苍蝉蹿辞谤尘别谤を使うのは有効か?
时系列予测に罢谤补苍蝉蹿辞谤尘别谤を使うのは有効か?时系列予测に罢谤补苍蝉蹿辞谤尘别谤を使うのは有効か?
时系列予测に罢谤补苍蝉蹿辞谤尘别谤を使うのは有効か?
Fumihiko Takahashi
?
プログラミングコンテストでの动的计画法
プログラミングコンテストでの动的计画法プログラミングコンテストでの动的计画法
プログラミングコンテストでの动的计画法
Takuya Akiba
?
颁耻笔测解説
颁耻笔测解説颁耻笔测解説
颁耻笔测解説
Ryosuke Okuta
?
最尤推定法(狈狈での応用)
最尤推定法(狈狈での応用)最尤推定法(狈狈での応用)
最尤推定法(狈狈での応用)
MatsuiRyo
?
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
RyuichiKanoh
?
组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门
组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门
组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门
Norishige Fukushima
?
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
Takuya Akiba
?
充足可能性问题のいろいろ
充足可能性问题のいろいろ充足可能性问题のいろいろ
充足可能性问题のいろいろ
Hiroshi Yamashita
?
笔颁础の最终形态骋笔尝痴惭の解説
笔颁础の最终形态骋笔尝痴惭の解説笔颁础の最终形态骋笔尝痴惭の解説
笔颁础の最终形态骋笔尝痴惭の解説
弘毅 露崎
?
Visual Studio CodeでRを使う
Visual Studio CodeでRを使うVisual Studio CodeでRを使う
Visual Studio CodeでRを使う
Atsushi Hayakawa
?
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
Ken'ichi Matsui
?
最适输送入门
最适输送入门最适输送入门
最适输送入门
joisino
?
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Yusuke Uchida
?
笔翱惭顿笔下での强化学习の基础と応用
笔翱惭顿笔下での强化学习の基础と応用笔翱惭顿笔下での强化学习の基础と応用
笔翱惭顿笔下での强化学习の基础と応用
Yasunori Ozaki
?
Union find(素集合データ構造)
Union find(素集合データ構造)Union find(素集合データ構造)
Union find(素集合データ構造)
AtCoder Inc.
?
阶层モデルの分散パラメータの事前分布について
阶层モデルの分散パラメータの事前分布について阶层モデルの分散パラメータの事前分布について
阶层モデルの分散パラメータの事前分布について
hoxo_m
?
色々なタ?イクストラ高速化
色々なタ?イクストラ高速化色々なタ?イクストラ高速化
色々なタ?イクストラ高速化
yosupo
?
时系列予测に罢谤补苍蝉蹿辞谤尘别谤を使うのは有効か?
时系列予测に罢谤补苍蝉蹿辞谤尘别谤を使うのは有効か?时系列予测に罢谤补苍蝉蹿辞谤尘别谤を使うのは有効か?
时系列予测に罢谤补苍蝉蹿辞谤尘别谤を使うのは有効か?
Fumihiko Takahashi
?
プログラミングコンテストでの动的计画法
プログラミングコンテストでの动的计画法プログラミングコンテストでの动的计画法
プログラミングコンテストでの动的计画法
Takuya Akiba
?

Similar to SATySFi 最近の発展と目下実装中の変更 (20)

Parallelization of Graceful Labeling Using Open MP
Parallelization of Graceful Labeling Using Open MPParallelization of Graceful Labeling Using Open MP
Parallelization of Graceful Labeling Using Open MP
IJSRED
?
String Comparison Surprises: Did Postgres lose my data?
String Comparison Surprises: Did Postgres lose my data?String Comparison Surprises: Did Postgres lose my data?
String Comparison Surprises: Did Postgres lose my data?
Jeremy Schneider
?
What’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributorWhat’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributor
Masahiko Sawada
?
Bioinformatica p4-io
Bioinformatica p4-ioBioinformatica p4-io
Bioinformatica p4-io
Prof. Wim Van Criekinge
?
Hadoop con 2016_9_10_王經篤(Jing-Doo Wang)
Hadoop con 2016_9_10_王經篤(Jing-Doo Wang)Hadoop con 2016_9_10_王經篤(Jing-Doo Wang)
Hadoop con 2016_9_10_王經篤(Jing-Doo Wang)
Jing-Doo Wang
?
MateriApps LIVE! の設定
MateriApps LIVE! の設定MateriApps LIVE! の設定
MateriApps LIVE! の設定
Computational Materials Science Initiative
?
PGQL: A Language for Graphs
PGQL: A Language for GraphsPGQL: A Language for Graphs
PGQL: A Language for Graphs
Jean Ihm
?
Future features for openCypher: Schema, Constraints, Subqueries, Configurable...
Future features for openCypher: Schema, Constraints, Subqueries, Configurable...Future features for openCypher: Schema, Constraints, Subqueries, Configurable...
Future features for openCypher: Schema, Constraints, Subqueries, Configurable...
openCypher
?
Cisco Connect Japan 2014:安定した無線 LAN 上でビジネス クリティカルなアプリケーションを利用するには?
Cisco Connect Japan 2014:安定した無線 LAN 上でビジネス クリティカルなアプリケーションを利用するには?Cisco Connect Japan 2014:安定した無線 LAN 上でビジネス クリティカルなアプリケーションを利用するには?
Cisco Connect Japan 2014:安定した無線 LAN 上でビジネス クリティカルなアプリケーションを利用するには?
シスコシステムズ合同会社
?
Scala / Technology evolution
Scala  / Technology evolutionScala  / Technology evolution
Scala / Technology evolution
Ruslan Shevchenko
?
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
lauratoni4
?
Pregel - Ezequiel Aguilar
Pregel - Ezequiel AguilarPregel - Ezequiel Aguilar
Pregel - Ezequiel Aguilar
Ezequiel Aguilar Gonzalez
?
Angular js活用事例:filydoc
Angular js活用事例:filydocAngular js活用事例:filydoc
Angular js活用事例:filydoc
Keiichi Kobayashi
?
Clickstream data with spark
Clickstream data with sparkClickstream data with spark
Clickstream data with spark
Marissa Saunders
?
An online semantic enhanced dirichlet model for short text
An online semantic enhanced dirichlet model for short textAn online semantic enhanced dirichlet model for short text
An online semantic enhanced dirichlet model for short text
Jay Kumarr
?
Machine Learning @NECST
Machine Learning @NECSTMachine Learning @NECST
Machine Learning @NECST
NECST Lab @ Politecnico di Milano
?
Leveraging Multiple GPUs and CPUs for Graphlet Counting in Large Networks
Leveraging Multiple GPUs and CPUs for  Graphlet Counting in Large Networks Leveraging Multiple GPUs and CPUs for  Graphlet Counting in Large Networks
Leveraging Multiple GPUs and CPUs for Graphlet Counting in Large Networks
Ryan Rossi
?
cikm14
cikm14cikm14
cikm14
Pranay Anchuri
?
PHM 2013
PHM 2013PHM 2013
PHM 2013
Francisco Serdio
?
Workshop NGS data analysis - 2
Workshop NGS data analysis - 2Workshop NGS data analysis - 2
Workshop NGS data analysis - 2
Maté Ongenaert
?
Parallelization of Graceful Labeling Using Open MP
Parallelization of Graceful Labeling Using Open MPParallelization of Graceful Labeling Using Open MP
Parallelization of Graceful Labeling Using Open MP
IJSRED
?
String Comparison Surprises: Did Postgres lose my data?
String Comparison Surprises: Did Postgres lose my data?String Comparison Surprises: Did Postgres lose my data?
String Comparison Surprises: Did Postgres lose my data?
Jeremy Schneider
?
What’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributorWhat’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributor
Masahiko Sawada
?
Hadoop con 2016_9_10_王經篤(Jing-Doo Wang)
Hadoop con 2016_9_10_王經篤(Jing-Doo Wang)Hadoop con 2016_9_10_王經篤(Jing-Doo Wang)
Hadoop con 2016_9_10_王經篤(Jing-Doo Wang)
Jing-Doo Wang
?
PGQL: A Language for Graphs
PGQL: A Language for GraphsPGQL: A Language for Graphs
PGQL: A Language for Graphs
Jean Ihm
?
Future features for openCypher: Schema, Constraints, Subqueries, Configurable...
Future features for openCypher: Schema, Constraints, Subqueries, Configurable...Future features for openCypher: Schema, Constraints, Subqueries, Configurable...
Future features for openCypher: Schema, Constraints, Subqueries, Configurable...
openCypher
?
Cisco Connect Japan 2014:安定した無線 LAN 上でビジネス クリティカルなアプリケーションを利用するには?
Cisco Connect Japan 2014:安定した無線 LAN 上でビジネス クリティカルなアプリケーションを利用するには?Cisco Connect Japan 2014:安定した無線 LAN 上でビジネス クリティカルなアプリケーションを利用するには?
Cisco Connect Japan 2014:安定した無線 LAN 上でビジネス クリティカルなアプリケーションを利用するには?
シスコシステムズ合同会社
?
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
lauratoni4
?
Angular js活用事例:filydoc
Angular js活用事例:filydocAngular js活用事例:filydoc
Angular js活用事例:filydoc
Keiichi Kobayashi
?
An online semantic enhanced dirichlet model for short text
An online semantic enhanced dirichlet model for short textAn online semantic enhanced dirichlet model for short text
An online semantic enhanced dirichlet model for short text
Jay Kumarr
?
Leveraging Multiple GPUs and CPUs for Graphlet Counting in Large Networks
Leveraging Multiple GPUs and CPUs for  Graphlet Counting in Large Networks Leveraging Multiple GPUs and CPUs for  Graphlet Counting in Large Networks
Leveraging Multiple GPUs and CPUs for Graphlet Counting in Large Networks
Ryan Rossi
?
Workshop NGS data analysis - 2
Workshop NGS data analysis - 2Workshop NGS data analysis - 2
Workshop NGS data analysis - 2
Maté Ongenaert
?

More from T. Suwa (9)

PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
T. Suwa
?
静的型つき組版処理システムSATySFi: その後の発展と今後の課題 @第62回プログラミング?シンポジウム
静的型つき組版処理システムSATySFi: その後の発展と今後の課題 @第62回プログラミング?シンポジウム静的型つき組版処理システムSATySFi: その後の発展と今後の課題 @第62回プログラミング?シンポジウム
静的型つき組版処理システムSATySFi: その後の発展と今後の課題 @第62回プログラミング?シンポジウム
T. Suwa
?
厂础罢测厂贵颈のこれからの课题たち
厂础罢测厂贵颈のこれからの课题たち厂础罢测厂贵颈のこれからの课题たち
厂础罢测厂贵颈のこれからの课题たち
T. Suwa
?
多段阶计算の型システムの基础
多段阶计算の型システムの基础多段阶计算の型システムの基础
多段阶计算の型システムの基础
T. Suwa
?
静的型つき組版処理システムSATySFi @第61回プログラミング?シンポジウム
静的型つき組版処理システムSATySFi @第61回プログラミング?シンポジウム静的型つき組版処理システムSATySFi @第61回プログラミング?シンポジウム
静的型つき組版処理システムSATySFi @第61回プログラミング?シンポジウム
T. Suwa
?
ラベルなしオプション引数の型システムと型推论
ラベルなしオプション引数の型システムと型推论ラベルなしオプション引数の型システムと型推论
ラベルなしオプション引数の型システムと型推论
T. Suwa
?
レコード计算の多相型システムと型推论
レコード计算の多相型システムと型推论レコード计算の多相型システムと型推论
レコード计算の多相型システムと型推论
T. Suwa
?
Macrodown -MLが使えるML-
Macrodown -MLが使えるML-Macrodown -MLが使えるML-
Macrodown -MLが使えるML-
T. Suwa
?
罢别齿言语の展开制御による文书の构造化(罢别齿ユーザの集い2014)
罢别齿言语の展开制御による文书の构造化(罢别齿ユーザの集い2014)罢别齿言语の展开制御による文书の构造化(罢别齿ユーザの集い2014)
罢别齿言语の展开制御による文书の构造化(罢别齿ユーザの集い2014)
T. Suwa
?
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
T. Suwa
?
静的型つき組版処理システムSATySFi: その後の発展と今後の課題 @第62回プログラミング?シンポジウム
静的型つき組版処理システムSATySFi: その後の発展と今後の課題 @第62回プログラミング?シンポジウム静的型つき組版処理システムSATySFi: その後の発展と今後の課題 @第62回プログラミング?シンポジウム
静的型つき組版処理システムSATySFi: その後の発展と今後の課題 @第62回プログラミング?シンポジウム
T. Suwa
?
厂础罢测厂贵颈のこれからの课题たち
厂础罢测厂贵颈のこれからの课题たち厂础罢测厂贵颈のこれからの课题たち
厂础罢测厂贵颈のこれからの课题たち
T. Suwa
?
多段阶计算の型システムの基础
多段阶计算の型システムの基础多段阶计算の型システムの基础
多段阶计算の型システムの基础
T. Suwa
?
静的型つき組版処理システムSATySFi @第61回プログラミング?シンポジウム
静的型つき組版処理システムSATySFi @第61回プログラミング?シンポジウム静的型つき組版処理システムSATySFi @第61回プログラミング?シンポジウム
静的型つき組版処理システムSATySFi @第61回プログラミング?シンポジウム
T. Suwa
?
ラベルなしオプション引数の型システムと型推论
ラベルなしオプション引数の型システムと型推论ラベルなしオプション引数の型システムと型推论
ラベルなしオプション引数の型システムと型推论
T. Suwa
?
レコード计算の多相型システムと型推论
レコード计算の多相型システムと型推论レコード计算の多相型システムと型推论
レコード计算の多相型システムと型推论
T. Suwa
?
Macrodown -MLが使えるML-
Macrodown -MLが使えるML-Macrodown -MLが使えるML-
Macrodown -MLが使えるML-
T. Suwa
?
罢别齿言语の展开制御による文书の构造化(罢别齿ユーザの集い2014)
罢别齿言语の展开制御による文书の构造化(罢别齿ユーザの集い2014)罢别齿言语の展开制御による文书の构造化(罢别齿ユーザの集い2014)
罢别齿言语の展开制御による文书の构造化(罢别齿ユーザの集い2014)
T. Suwa
?

Recently uploaded (20)

INVESTIGATION OF PUEA IN COGNITIVE RADIO NETWORKS USING ENERGY DETECTION IN D...
INVESTIGATION OF PUEA IN COGNITIVE RADIO NETWORKS USING ENERGY DETECTION IN D...INVESTIGATION OF PUEA IN COGNITIVE RADIO NETWORKS USING ENERGY DETECTION IN D...
INVESTIGATION OF PUEA IN COGNITIVE RADIO NETWORKS USING ENERGY DETECTION IN D...
csijjournal
?
Turbocor Product and Technology Review.pdf
Turbocor Product and Technology Review.pdfTurbocor Product and Technology Review.pdf
Turbocor Product and Technology Review.pdf
Totok Sulistiyanto
?
Soil Properties and Methods of Determination
Soil Properties and  Methods of DeterminationSoil Properties and  Methods of Determination
Soil Properties and Methods of Determination
Rajani Vyawahare
?
AI ppt on water jug problem by shivam sharma
AI ppt on water jug problem by shivam sharmaAI ppt on water jug problem by shivam sharma
AI ppt on water jug problem by shivam sharma
ShivamSharma588604
?
INTERNET OF THINGSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
INTERNET OF THINGSSSSSSSSSSSSSSSSSSSSSSSSS.pptxINTERNET OF THINGSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
INTERNET OF THINGSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
bmit1
?
ESIT135 Problem Solving Using Python Notes of Unit-1 and Unit-2
ESIT135 Problem Solving Using Python Notes of Unit-1 and Unit-2ESIT135 Problem Solving Using Python Notes of Unit-1 and Unit-2
ESIT135 Problem Solving Using Python Notes of Unit-1 and Unit-2
prasadmutkule1
?
-PPT-5-Wind-Energy conversion slides contents
-PPT-5-Wind-Energy conversion   slides contents-PPT-5-Wind-Energy conversion   slides contents
-PPT-5-Wind-Energy conversion slides contents
senthilkumarmamse
?
direct current machine first part about machine.pdf
direct current machine first part about machine.pdfdirect current machine first part about machine.pdf
direct current machine first part about machine.pdf
sahilshah890338
?
Machine Vision lecture notes for Unit 3.ppt
Machine Vision lecture notes for Unit 3.pptMachine Vision lecture notes for Unit 3.ppt
Machine Vision lecture notes for Unit 3.ppt
SATHISHKUMARSD1
?
Defining the Future of Biophilic Design in Crete.pdf
Defining the Future of Biophilic Design in Crete.pdfDefining the Future of Biophilic Design in Crete.pdf
Defining the Future of Biophilic Design in Crete.pdf
ARENCOS
?
Sppu engineering artificial intelligence and data science semester 6th Artif...
Sppu engineering  artificial intelligence and data science semester 6th Artif...Sppu engineering  artificial intelligence and data science semester 6th Artif...
Sppu engineering artificial intelligence and data science semester 6th Artif...
pawaletrupti434
?
Dijkstra Shortest Path Algorithm in Network.ppt
Dijkstra Shortest Path Algorithm in Network.pptDijkstra Shortest Path Algorithm in Network.ppt
Dijkstra Shortest Path Algorithm in Network.ppt
RAJASEKARAN G
?
Data recovery and Digital evidence controls in digital frensics.pdf
Data recovery and Digital evidence controls in digital frensics.pdfData recovery and Digital evidence controls in digital frensics.pdf
Data recovery and Digital evidence controls in digital frensics.pdf
Abhijit Bodhe
?
A Star Algorithm in Artificial intelligence
A Star Algorithm in Artificial intelligenceA Star Algorithm in Artificial intelligence
A Star Algorithm in Artificial intelligence
vipulkondekar
?
Design of cannal by Kennedy Theory full problem solved
Design of cannal by Kennedy Theory full problem solvedDesign of cannal by Kennedy Theory full problem solved
Design of cannal by Kennedy Theory full problem solved
Er. Gurmeet Singh
?
Common Network Architecture:X.25 Networks, Ethernet (Standard and Fast): fram...
Common Network Architecture:X.25 Networks, Ethernet (Standard and Fast): fram...Common Network Architecture:X.25 Networks, Ethernet (Standard and Fast): fram...
Common Network Architecture:X.25 Networks, Ethernet (Standard and Fast): fram...
SnehPrasad2
?
Instruction execution cycle _
Instruction execution cycle                  _Instruction execution cycle                  _
Instruction execution cycle _
SwatiHans10
?
Indian Soil Classification System in Geotechnical Engineering
Indian Soil Classification System in Geotechnical EngineeringIndian Soil Classification System in Geotechnical Engineering
Indian Soil Classification System in Geotechnical Engineering
Rajani Vyawahare
?
Dilatometer Test in Geotechnical engineering an over view .pptx
Dilatometer Test in Geotechnical engineering an over view .pptxDilatometer Test in Geotechnical engineering an over view .pptx
Dilatometer Test in Geotechnical engineering an over view .pptx
RaghuramChallaC011
?
Taykon-Kalite belgeleri
Taykon-Kalite belgeleriTaykon-Kalite belgeleri
Taykon-Kalite belgeleri
TAYKON
?
INVESTIGATION OF PUEA IN COGNITIVE RADIO NETWORKS USING ENERGY DETECTION IN D...
INVESTIGATION OF PUEA IN COGNITIVE RADIO NETWORKS USING ENERGY DETECTION IN D...INVESTIGATION OF PUEA IN COGNITIVE RADIO NETWORKS USING ENERGY DETECTION IN D...
INVESTIGATION OF PUEA IN COGNITIVE RADIO NETWORKS USING ENERGY DETECTION IN D...
csijjournal
?
Turbocor Product and Technology Review.pdf
Turbocor Product and Technology Review.pdfTurbocor Product and Technology Review.pdf
Turbocor Product and Technology Review.pdf
Totok Sulistiyanto
?
Soil Properties and Methods of Determination
Soil Properties and  Methods of DeterminationSoil Properties and  Methods of Determination
Soil Properties and Methods of Determination
Rajani Vyawahare
?
AI ppt on water jug problem by shivam sharma
AI ppt on water jug problem by shivam sharmaAI ppt on water jug problem by shivam sharma
AI ppt on water jug problem by shivam sharma
ShivamSharma588604
?
INTERNET OF THINGSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
INTERNET OF THINGSSSSSSSSSSSSSSSSSSSSSSSSS.pptxINTERNET OF THINGSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
INTERNET OF THINGSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
bmit1
?
ESIT135 Problem Solving Using Python Notes of Unit-1 and Unit-2
ESIT135 Problem Solving Using Python Notes of Unit-1 and Unit-2ESIT135 Problem Solving Using Python Notes of Unit-1 and Unit-2
ESIT135 Problem Solving Using Python Notes of Unit-1 and Unit-2
prasadmutkule1
?
-PPT-5-Wind-Energy conversion slides contents
-PPT-5-Wind-Energy conversion   slides contents-PPT-5-Wind-Energy conversion   slides contents
-PPT-5-Wind-Energy conversion slides contents
senthilkumarmamse
?
direct current machine first part about machine.pdf
direct current machine first part about machine.pdfdirect current machine first part about machine.pdf
direct current machine first part about machine.pdf
sahilshah890338
?
Machine Vision lecture notes for Unit 3.ppt
Machine Vision lecture notes for Unit 3.pptMachine Vision lecture notes for Unit 3.ppt
Machine Vision lecture notes for Unit 3.ppt
SATHISHKUMARSD1
?
Defining the Future of Biophilic Design in Crete.pdf
Defining the Future of Biophilic Design in Crete.pdfDefining the Future of Biophilic Design in Crete.pdf
Defining the Future of Biophilic Design in Crete.pdf
ARENCOS
?
Sppu engineering artificial intelligence and data science semester 6th Artif...
Sppu engineering  artificial intelligence and data science semester 6th Artif...Sppu engineering  artificial intelligence and data science semester 6th Artif...
Sppu engineering artificial intelligence and data science semester 6th Artif...
pawaletrupti434
?
Dijkstra Shortest Path Algorithm in Network.ppt
Dijkstra Shortest Path Algorithm in Network.pptDijkstra Shortest Path Algorithm in Network.ppt
Dijkstra Shortest Path Algorithm in Network.ppt
RAJASEKARAN G
?
Data recovery and Digital evidence controls in digital frensics.pdf
Data recovery and Digital evidence controls in digital frensics.pdfData recovery and Digital evidence controls in digital frensics.pdf
Data recovery and Digital evidence controls in digital frensics.pdf
Abhijit Bodhe
?
A Star Algorithm in Artificial intelligence
A Star Algorithm in Artificial intelligenceA Star Algorithm in Artificial intelligence
A Star Algorithm in Artificial intelligence
vipulkondekar
?
Design of cannal by Kennedy Theory full problem solved
Design of cannal by Kennedy Theory full problem solvedDesign of cannal by Kennedy Theory full problem solved
Design of cannal by Kennedy Theory full problem solved
Er. Gurmeet Singh
?
Common Network Architecture:X.25 Networks, Ethernet (Standard and Fast): fram...
Common Network Architecture:X.25 Networks, Ethernet (Standard and Fast): fram...Common Network Architecture:X.25 Networks, Ethernet (Standard and Fast): fram...
Common Network Architecture:X.25 Networks, Ethernet (Standard and Fast): fram...
SnehPrasad2
?
Instruction execution cycle _
Instruction execution cycle                  _Instruction execution cycle                  _
Instruction execution cycle _
SwatiHans10
?
Indian Soil Classification System in Geotechnical Engineering
Indian Soil Classification System in Geotechnical EngineeringIndian Soil Classification System in Geotechnical Engineering
Indian Soil Classification System in Geotechnical Engineering
Rajani Vyawahare
?
Dilatometer Test in Geotechnical engineering an over view .pptx
Dilatometer Test in Geotechnical engineering an over view .pptxDilatometer Test in Geotechnical engineering an over view .pptx
Dilatometer Test in Geotechnical engineering an over view .pptx
RaghuramChallaC011
?
Taykon-Kalite belgeleri
Taykon-Kalite belgeleriTaykon-Kalite belgeleri
Taykon-Kalite belgeleri
TAYKON
?

SATySFi 最近の発展と目下実装中の変更

  • 1. ?????? ???????? @ SATYSFI Conf 2021 2021 ? 6 ? 26 ? ( @bd_gfngfn)
  • 2. ?????????? ? ??Μ???? ?????Β?? ? Θ?????? μ???! ?? 2
  • 3. ?????????? ? ??Μ???? ?????Β?? ? Θ?????? μ???! ※??ΖΜ???????Θ?????? ? SATYSFI ????????? – ???????Τ??????????Λ v0.0.6 ????ε ? ?Ε????????????????????? – ?δ???γε??? F-ing modules ???Ε????????? – OpenType ?Π?????????? otfm → otfed ? Sesterl ??????????????Λ????????? – ?ΒΕ??????????????? SATYSFI ???Ο?υ?ο????? ????ΕΒ?????????? ?? 3
  • 4. ? ??????Ε??? ? ??? PR ? ? ???????Τ???????? ? ???????? ? ?Υ?τσ??μ/Τ???μ??? ? ?δ???γε??? F-ing modules ? ? ???
  • 5. ? v0.0.6 (2021-02-06) – ???????? linear-transform-graphics [@monaqa] – ???? page-break-multicolumn – overfull/underfull ???Φ?γ?? —-debug-show-overfull – ?????????ΑΔ??????CHANGELOG ??? ??????? 5
  • 6. ? v0.0.6 (2021-02-06) – ???????? linear-transform-graphics [@monaqa] – ???? page-break-multicolumn – overfull/underfull ???Φ?γ?? —-debug-show-overfull – ?????????ΑΔ??????CHANGELOG ??? ? v0.0.7 ?? – ???ΝΠ????? read-file [@puripuri2100] – document information dictionary ?? [@puripuri2100] – ???????υ?? Ruby ???? [@leque] ? vminstdef.yaml ???? vminst.ml ??? – ???????????????? Unicode ??υ?Π?τ???? ? set-math-char? Roman, Italic ??ελΠ???????????? ??????? 6
  • 7. ? ??????Ε??? ? ??? PR ? ? ???????Τ???????? ? ???????? ? ?Υ?τσ??μ/Τ???μ??? ? ?δ???γε??? F-ing modules ? ? ???
  • 8. ? ??????????????Τ?????????? ? ??????????????????? ???????????????Δ ? ??υΩ???τ????????????????σ?λ? ?????Δ?????Ε?? ??Β?? ?????????Ε????????? 8
  • 9. ????? DSL? ???Λ???????ε?Δ???υΛ ???Δ ??Β?? φΠ?????? 9 amidakuji(``` |X|-|=|/| | | |-||-|X| |=|X|-||=| |-||-|=|-| |X|=|-|| | ```); amidakuji([ [Cross ; Line ; … ]; [Empty ; Line ; … ]; [Double; Cross; … ]; … ]);
  • 10. ???υ??????????????????????ΘΕΔ?? DSL ???????????ΘΕ???Τ?????????? ? Τ???????Δ???????Γ ????? DSL ???????Ε?Α??? ???????Λ?????????ΔΑ???Α? ????????????????????Δ???????? ??????? [Davies 1996] [Taha Sheard 2000] ??????????Α? ??Β?? φΠ???????????????? 10
  • 11. ? ????????ε??δ???Ε????Λ?????? ??ΕΛ????????????γε?? – stage 0, 1, 2, … ???ε??δ???ε??δ???υΛ?? ? ???? stage 0???????? stage 1??????????? – Lisp ? quasiquote ??Δ – ?? MetaML [Taha Sheard 2000]?MetaOCaml [Kiselyov 2014] ????????? ? ??????????υ?????Δ – ?????????????????????????????????? ??Β?? ????????? 11
  • 12. ? ??????????Α???????? – ~(…) ????????ΘΕΔ stage 0 ????? – ~ ??????????υ???????????ΘΕΔ stage 1 ??? ? ???????Α????Ε?????ΑΓ????????ΕΔ ? ????????????????υ???? ????ΘΔ????????????Ε? “?????” Τ?????? ? MacroML [Ganz, Sabry Taha 2001] ????????????? ??????????? 12 repeat@~(3){foo} % ??????λΠ????? % ???Β foofoofoo ?????????????Δ amidakuji@~(``` |X|-|=|/| | | |-||-|X| |=|X|-||=| |-||-|=|-| |X|=|-|| | ```);
  • 13. ? ?????? ???????????????? Τ?????Λ???Δ???????Λ????? – DSL ????????????????? ???????????????Π?????????Δ – @`…` ???υ??????Γ??Δ??????????Δ – @`…` : string * input-position – get-input-position : input-position - string * int * int ??????????? 13 amidakuji@~(@``` |X|-|=|/| | | |-||-|X| |=|X|-||=| |-||-|=|-| |X|=|-|| | ```); ?Γ?? (?ΝΠ??, ??, ???)
  • 16. ? ??????Ε??? ? ??? PR ? ? ???????Τ???????? ? ???????? ? ?Υ?τσ??μ/Τ???μ??? ? ?δ???γε??? F-ing modules ? ? ???
  • 17. ? σ??μ/Τ???μ??Λ??Δ????? – ?Υ?τ??Λ SATYSFI ?????????ΔΑ????? ? ???Χ?χ?????????????? feature ? on/off ???? ? ???Οο?ε??ε?????ΔΑ???Δ etc. – ???η??λ?? – ???? OCaml ??Υ?τ??Λ??Γ???? ??????? 10 ??Β????????????Δ????? ? ??? ?????Π??? otfm Λ?????????? – github.com/dbuenzli/otfm → github.com/gfngfn/otfm – ??????ε??τ???????ετ?? – ?????Ε????Λ??????????? ?Υ?τσ??μ/Τ???μ??? 17
  • 18. ? ???θ??Β otfed ????Π???Λ???? – github.com/gfngfn/otfed – ???????????? otfm ?α??τ??Λ???????? ? PDF ???????????? OK – ε??τ?ε??Δ????ετ???Δ – OCaml ????????? OpenType ?Π????????? – ?δ?????Λ?????? OPAM ?????? ?Υ?τσ??μ/Τ???μ??? 18 ???Θ??
  • 19. ? ??????Ε??? ? ??? PR ? ? ???????Τ???????? ? ???????? ? ?Υ?τσ??μ/Τ???μ??? ? ?δ???γε??? F-ing modules ? ? ???
  • 20. ? ?ο??δ????????????????????? ???????????????????ΓΞυ?ο? – ??ο??δ?ΝΠ???????Λ??? τ??δΧ?ι?τ??1?????????????? ? ????ο??δ????????????????Δ ? ????????????ο??δ????Ε??????ε?????Δ – ?δ????????????????Δ?? ?????????????????????? ? ??Λ?δ?????Β???Δ????????????? ?Υ?τ??????ο??δ?????????Γ??? ?ο??δ??δ?????? 20 % ?ΝΠ???????ο??δΛ?? @require: stdjareport @require: code ?
  • 21. ? ?δ???γε?????????? F-ing modules [Rossberg, Russo Dreyer 2014] Λ?????Λα??τ – ?Ε???δ??? – ?Ν??λ??“?δ???Λ?δ???????????”?????? ? 1 ?ο??δ??? 1 ?δ????????Δ??????Δ – ???Β?????δ???Λ?Ε???Ε?Α? – ???ΝΠ??????Δ???????????Δ ? @require ??????????ο??δ??ε?????Ε?? – ?????????????????????Δ?? SATYSFI ?????????????? Sesterl ??ΕΒ????Λ ?Μ???????????????????Ζ???????Ε? ??? 21
  • 22. ??Β?? ?Ν??λ??Δ????????? 22 @require code module PyCode = Code.Make(struct val base-font = (`Menlo`, 1., 0.) val highlight = Code.Syntax.python3 end) ? {… PyCode.show(`print(“Hi!”)`); …} ? ????? – code ???υ?Α?????ΕΔ?Υ?τ????? – ??Λ???Δ API ???????????Δ?????? ? ?????? @require code ? {… code(`print(“Hi!”)`); …} ?Ν??λCode.Make? ελΠ?????δ???Λ??? ??????Ε???Λ PyCode????δ????????
  • 23. ? ????????Ε?Γ?????? – refactor-internal ???branch?????????Ν?λ????? – ???? ?3600???1900? ???????????????Β?? ? ????????????δ???γε???????????????Ζ? – mutable reference ? relaxed value restriction [Garrigue 2004] ???????????Δ ? ??Ε???? monadic ??????????? – ??????? ? ???????????????????????????? – Satyrographos [@na4zagin3] ??????????? ? ????? SATYSFI ? OPAM ?ο??δ????Δ??Λ???? ??????????????ΕΔ?? 23
  • 24. ? ??????Ε??? ? ??? PR ? ? ???????Τ???????? ? ???????? ? ?Υ?τσ??μ/Τ???μ??? ? ?δ???γε??? F-ing modules ? ? ???
  • 25. ? ??????? – ???? – ???????Τ?????Λ???Δ??????? – ????????υ?Π?τ??? – ?????? PR? ? ???Οο?ε?????????????ΝΠ?????? Ruby ???????etc. ? ???????? – ?Υ?τσ??μ/Τ???μ??????? – F-ing modules ???????δ???γε????? ??? 25
  • 26. ? Rowan Davies. A temporal-logic approach to binding-time analysis. In Proc. of LICS’96, pages 184–195, 1996. ? Martin Elsman, Troels Henriksen, Danil Annenkov, and Cosmin E. Oancea. Static interpretation of higher-order modules in Futhark: functional GPU programming in the large. In Proc. of ICFP’18, Article 97, 2018. ? Steve Ganz, Amr Sabry, and Walid Taha. Macros as multi-stage computations: type-safe, generative, binding macros in MacroML. In Proc. of ICFP’01, pages 74–85, 2001. ? Jacques Garrigue. Relaxing the Value Restriction. In Functional and Logic Programming. FLOPS 2004. Lecture Notes in Computer Science, vol 2998, 2004. ? Oleg Kiselyov. The design and implementation of BER?MetaOCaml. In Functional and Logic Programming. FLOPS 2014. Lecture Notes in Computer Science, vol 8475, 2014. ? Andreas Rossberg, Claudio Russo, and Derek Dreyer. F-ing modules. Journal of Functional Programming, 24(5), pp. 529–607, 2014. ? Walid Taha and Tim Sheard. Multi-stage programming with explicit annotations. Theoretical Computer Science, 248 (1-2), pages 211–242, 2000. ?????? 26