Submit Search
Upload
静的型つき組版処理システムSATySFi @第61回プログラミング・シンポジウム
•
5 likes
•
2,207 views
T. Suwa
Follow
第61回プログラミング・シンポジウムにて発表した際のスライド資料です.
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 56
Download now
Download to read offline
Recommended
ぷよぷよAIの新しい探索法
ぷよぷよAIの新しい探索法
Takaya Doki
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
T. Suwa
直前合宿 講義スライド
直前合宿 講義スライド
tozan gezan
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
Takuya Akiba
様々な全域木問題
様々な全域木問題
tmaehara
lsh
lsh
Shunsuke Aihara
Deflate
Deflate
7shi
Recommended
ぷよぷよAIの新しい探索法
ぷよぷよAIの新しい探索法
Takaya Doki
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
T. Suwa
直前合宿 講義スライド
直前合宿 講義スライド
tozan gezan
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
Takuya Akiba
様々な全域木問題
様々な全域木問題
tmaehara
lsh
lsh
Shunsuke Aihara
Deflate
Deflate
7shi
論理と計算のしくみ 5.3 型付きλ計算 (前半)
論理と計算のしくみ 5.3 型付きλ計算 (前半)
Lintaro Ina
明日使えないすごいビット演算
明日使えないすごいビット演算
京大 マイコンクラブ
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
Convex Hull Trick
Convex Hull Trick
HCPC: 北海道大学競技プログラミングサークル
あなたの知らないnopたち@ラボユース合宿
あなたの知らないnopたち@ラボユース合宿
MITSUNARI Shigeo
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
Hibiki Yamashiro
色々なダイクストラ高速化
色々なダイクストラ高速化
yosupo
最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く
shindannin
大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム
Takuya Akiba
AESについて 輪講資料
AESについて 輪講資料
Sorasuke
オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会
オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会
Junpei Tsuji
Palindromic tree
Palindromic tree
__math
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps
MITSUNARI Shigeo
Union find(素集合データ構造)
Union find(素集合データ構造)
AtCoder Inc.
最大流 (max flow)
最大流 (max flow)
HCPC: 北海道大学競技プログラミングサークル
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Panda Yamaki
Rolling Hashを殺す話
Rolling Hashを殺す話
Nagisa Eto
ドキュメントシステムはこれを使え2015年版
ドキュメントシステムはこれを使え2015年版
Keiichiro Shikano
動的計画法を極める!
動的計画法を極める!
HCPC: 北海道大学競技プログラミングサークル
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
Takuya Akiba
Continuation Passing Style and Macros in Clojure - Jan 2012
Continuation Passing Style and Macros in Clojure - Jan 2012
Leonardo Borges
High Performance Systems Without Tears - Scala Days Berlin 2018
High Performance Systems Without Tears - Scala Days Berlin 2018
Zahari Dichev
More Related Content
What's hot
論理と計算のしくみ 5.3 型付きλ計算 (前半)
論理と計算のしくみ 5.3 型付きλ計算 (前半)
Lintaro Ina
明日使えないすごいビット演算
明日使えないすごいビット演算
京大 マイコンクラブ
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
Convex Hull Trick
Convex Hull Trick
HCPC: 北海道大学競技プログラミングサークル
あなたの知らないnopたち@ラボユース合宿
あなたの知らないnopたち@ラボユース合宿
MITSUNARI Shigeo
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
Hibiki Yamashiro
色々なダイクストラ高速化
色々なダイクストラ高速化
yosupo
最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く
shindannin
大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム
Takuya Akiba
AESについて 輪講資料
AESについて 輪講資料
Sorasuke
オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会
オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会
Junpei Tsuji
Palindromic tree
Palindromic tree
__math
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps
MITSUNARI Shigeo
Union find(素集合データ構造)
Union find(素集合データ構造)
AtCoder Inc.
最大流 (max flow)
最大流 (max flow)
HCPC: 北海道大学競技プログラミングサークル
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Panda Yamaki
Rolling Hashを殺す話
Rolling Hashを殺す話
Nagisa Eto
ドキュメントシステムはこれを使え2015年版
ドキュメントシステムはこれを使え2015年版
Keiichiro Shikano
動的計画法を極める!
動的計画法を極める!
HCPC: 北海道大学競技プログラミングサークル
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
Takuya Akiba
What's hot
(20)
論理と計算のしくみ 5.3 型付きλ計算 (前半)
論理と計算のしくみ 5.3 型付きλ計算 (前半)
明日使えないすごいビット演算
明日使えないすごいビット演算
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
Convex Hull Trick
Convex Hull Trick
あなたの知らないnopたち@ラボユース合宿
あなたの知らないnopたち@ラボユース合宿
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
色々なダイクストラ高速化
色々なダイクストラ高速化
最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く
大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム
AESについて 輪講資料
AESについて 輪講資料
オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会
オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会
Palindromic tree
Palindromic tree
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps
Union find(素集合データ構造)
Union find(素集合データ構造)
最大流 (max flow)
最大流 (max flow)
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Rolling Hashを殺す話
Rolling Hashを殺す話
ドキュメントシステムはこれを使え2015年版
ドキュメントシステムはこれを使え2015年版
動的計画法を極める!
動的計画法を極める!
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
Similar to 静的型つき組版処理システムSATySFi @第61回プログラミング・シンポジウム
Continuation Passing Style and Macros in Clojure - Jan 2012
Continuation Passing Style and Macros in Clojure - Jan 2012
Leonardo Borges
High Performance Systems Without Tears - Scala Days Berlin 2018
High Performance Systems Without Tears - Scala Days Berlin 2018
Zahari Dichev
Virtual Machine for Regular Expressions
Virtual Machine for Regular Expressions
Alexander Yakushev
Regular expressions
Regular expressions
Eran Zimbler
My First Rails Plugin - Usertext
My First Rails Plugin - Usertext
frankieroberto
静的型つき組版処理システムSATySFi: その後の発展と今後の課題 @第62回プログラミング・シンポジウム
静的型つき組版処理システムSATySFi: その後の発展と今後の課題 @第62回プログラミング・シンポジウム
T. Suwa
Flink internals web
Flink internals web
Kostas Tzoumas
Apache Flink internals
Apache Flink internals
Kostas Tzoumas
How it's made: C++ compilers (GCC)
How it's made: C++ compilers (GCC)
Sławomir Zborowski
Modern Linux Tracing Landscape
Modern Linux Tracing Landscape
Kernel TLV
Introduction to Assembly Language
Introduction to Assembly Language
Motaz Saad
Let's Get to the Rapids
Let's Get to the Rapids
Maurice Naftalin
List intersection for web search: Algorithms, Cost Models, and Optimizations
List intersection for web search: Algorithms, Cost Models, and Optimizations
Sunghwan Kim
Sangam 18 - Database Development: Return of the SQL Jedi
Sangam 18 - Database Development: Return of the SQL Jedi
Connor McDonald
Apache Flink: API, runtime, and project roadmap
Apache Flink: API, runtime, and project roadmap
Kostas Tzoumas
MLflow with R
MLflow with R
Databricks
SwapSkills css3
SwapSkills css3
Satoshi Kikuchi
Happy Go Programming
Happy Go Programming
Lin Yo-An
Redis深入浅出
Redis深入浅出
ruoyi ruan
10 Lessons Learned from using Kafka with 1000 microservices - java global summit
10 Lessons Learned from using Kafka with 1000 microservices - java global summit
Natan Silnitsky
Similar to 静的型つき組版処理システムSATySFi @第61回プログラミング・シンポジウム
(20)
Continuation Passing Style and Macros in Clojure - Jan 2012
Continuation Passing Style and Macros in Clojure - Jan 2012
High Performance Systems Without Tears - Scala Days Berlin 2018
High Performance Systems Without Tears - Scala Days Berlin 2018
Virtual Machine for Regular Expressions
Virtual Machine for Regular Expressions
Regular expressions
Regular expressions
My First Rails Plugin - Usertext
My First Rails Plugin - Usertext
静的型つき組版処理システムSATySFi: その後の発展と今後の課題 @第62回プログラミング・シンポジウム
静的型つき組版処理システムSATySFi: その後の発展と今後の課題 @第62回プログラミング・シンポジウム
Flink internals web
Flink internals web
Apache Flink internals
Apache Flink internals
How it's made: C++ compilers (GCC)
How it's made: C++ compilers (GCC)
Modern Linux Tracing Landscape
Modern Linux Tracing Landscape
Introduction to Assembly Language
Introduction to Assembly Language
Let's Get to the Rapids
Let's Get to the Rapids
List intersection for web search: Algorithms, Cost Models, and Optimizations
List intersection for web search: Algorithms, Cost Models, and Optimizations
Sangam 18 - Database Development: Return of the SQL Jedi
Sangam 18 - Database Development: Return of the SQL Jedi
Apache Flink: API, runtime, and project roadmap
Apache Flink: API, runtime, and project roadmap
MLflow with R
MLflow with R
SwapSkills css3
SwapSkills css3
Happy Go Programming
Happy Go Programming
Redis深入浅出
Redis深入浅出
10 Lessons Learned from using Kafka with 1000 microservices - java global summit
10 Lessons Learned from using Kafka with 1000 microservices - java global summit
More from T. Suwa
SATySFi 最近の発展と目下実装中の変更
SATySFi 最近の発展と目下実装中の変更
T. Suwa
SATySFiのこれからの課題たち
SATySFiのこれからの課題たち
T. Suwa
多段階計算の型システムの基礎
多段階計算の型システムの基礎
T. Suwa
ラベルなしオプション引数の型システムと型推論
ラベルなしオプション引数の型システムと型推論
T. Suwa
レコード計算の多相型システムと型推論
レコード計算の多相型システムと型推論
T. Suwa
Macrodown -MLが使えるML-
Macrodown -MLが使えるML-
T. Suwa
TeX言語の展開制御による文書の構造化(TeXユーザの集い2014)
TeX言語の展開制御による文書の構造化(TeXユーザの集い2014)
T. Suwa
More from T. Suwa
(7)
SATySFi 最近の発展と目下実装中の変更
SATySFi 最近の発展と目下実装中の変更
SATySFiのこれからの課題たち
SATySFiのこれからの課題たち
多段階計算の型システムの基礎
多段階計算の型システムの基礎
ラベルなしオプション引数の型システムと型推論
ラベルなしオプション引数の型システムと型推論
レコード計算の多相型システムと型推論
レコード計算の多相型システムと型推論
Macrodown -MLが使えるML-
Macrodown -MLが使えるML-
TeX言語の展開制御による文書の構造化(TeXユーザの集い2014)
TeX言語の展開制御による文書の構造化(TeXユーザの集い2014)
Recently uploaded
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
SCMS School of Architecture
Linux Systems Programming: Inter Process Communication (IPC) using Pipes
Linux Systems Programming: Inter Process Communication (IPC) using Pipes
RashidFaridChishti
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
pritamlangde
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
sarkmank1
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
DineshKumar4165
Hostel management system project report..pdf
Hostel management system project report..pdf
Kamal Acharya
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
vanyagupta248
Ghuma $ Russian Call Girls Ahmedabad ₹7.5k Pick Up & Drop With Cash Payment 8...
Ghuma $ Russian Call Girls Ahmedabad ₹7.5k Pick Up & Drop With Cash Payment 8...
gragchanchal546
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
DineshKumar4165
Computer Networks Basics of Network Devices
Computer Networks Basics of Network Devices
ChandrakantDivate1
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
AldoGarca30
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
Max. shear stress theory-Maximum Shear Stress Theory Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory Maximum Distortional ...
ronahami
Signal Processing and Linear System Analysis
Signal Processing and Linear System Analysis
National Chung Hsing University
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
rouholahahmadi9876
Basic Electronics for diploma students as per technical education Kerala Syll...
Basic Electronics for diploma students as per technical education Kerala Syll...
ppkakm
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
MuhammadAsimMuhammad6
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
SCMS School of Architecture
Thermal Engineering Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
DineshKumar4165
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
BhangaleSonal
Recently uploaded
(20)
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
Linux Systems Programming: Inter Process Communication (IPC) using Pipes
Linux Systems Programming: Inter Process Communication (IPC) using Pipes
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
Hostel management system project report..pdf
Hostel management system project report..pdf
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
Ghuma $ Russian Call Girls Ahmedabad ₹7.5k Pick Up & Drop With Cash Payment 8...
Ghuma $ Russian Call Girls Ahmedabad ₹7.5k Pick Up & Drop With Cash Payment 8...
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
Computer Networks Basics of Network Devices
Computer Networks Basics of Network Devices
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Max. shear stress theory-Maximum Shear Stress Theory Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory Maximum Distortional ...
Signal Processing and Linear System Analysis
Signal Processing and Linear System Analysis
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
Basic Electronics for diploma students as per technical education Kerala Syll...
Basic Electronics for diploma students as per technical education Kerala Syll...
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
Thermal Engineering Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
静的型つき組版処理システムSATySFi @第61回プログラミング・シンポジウム
1.
61 2020 1 10
@
2.
2 [ˈsætɪsˌfaɪ] • 2017 • DSL https://github.com/gfngfn/SATySFi
3.
Better LATEX • • 3
4.
• • • • • •
5.
2 WYSIWYG troff 5 [Microsoft 1983] [Adobe
1991] [Quark 1987] [Lamport 1985][Knuth 1978] [Gruber 2004] [Osanna 1973] RE:VIEW [ et al. 2002]
6.
WYSIWYG 6 😄 • • • •
7.
WYSIWYG 7 😄 😩 •• • • •
8.
LATEX • • 8 ! Undefined control
sequence. ! Missing $ inserted. ! Missing number, treated as zero.
9.
LATEX • • 9 ! Undefined control
sequence. ! Missing $ inserted. ! Missing number, treated as zero.
10.
10 https://github.com/gfngfn/SATySFi Static Analysis-based TYpesetting
System for Functional Implementation 🤔
11.
(1/2) 11 2 +section{SATySFi; }< +p{ emph{ } } > let-inline
ctx emph it = let ctx = ctx |> set-font Latin italic-font in read-inline ctx it “ ” “ ” • LATEX • { … } < … > • OCaml •
12.
(2/2) • “ ” • • • 12 “
” OCaml
13.
• ML • Hindley–Milner • • • • • 13 SML#
[Ohori 1995][Milner 1978]
14.
• • • • • •
15.
15 https://drive.google.com/open?id=1muaWGgyAGfIYJNyKfKvvAzN8vur1sTG3
16.
• TEX [Knuth
& Plass 1981] – Unicode Line Breaking Algorithm – – [Liang & Knuth 1983] • OpenType (1/2) 16
17.
• – OpenType MATH –
Future Work • • • figure • ref label • TikZ (2/2) 17
18.
2 18 • LATEX
19.
LATEX https://drive.google.com/open?id=1r14gHwCUxe3DQjoxkGHDWWkwtHWqMwaY
20.
https://drive.google.com/open?id=1DyKB0V2xIKz6SMYNGdEWnupPAxXkWCeE
21.
• • • • • •
22.
“ ” PDF OpenType 22
23.
23 “ ” PDF OpenType
24.
“ ” PDF OpenType 24 {The quick
brown fox … }
25.
“ ” PDF OpenType 25 Y ______] ______[
26.
• – • – 26
27.
2 • – • – • – • – 27 Y ______] ______[ Y ______] ______[
28.
28 {The quick brown
fox … } inline-text inline-boxes block-boxes < +p{ The quick brown fox … } > block-text
29.
29 {The quick brown
fox … } Y ______] ______[ • • • ... context read-inline {The quick brown fox jumps … } • read-inline : context → inline-text → inline-boxes Ctx
30.
• line-break :
bool → bool → context → inline-boxes → block-boxes 30 line-break true true Ctx – 2 – – Knuth–Plass Ctx [Knuth & Plass 1981]
31.
• – • + – 31 let-inline
=cmdy x1 · · · xn e 0 cmd cmd Y ______] ______[
32.
32 let-inline ctx emph
contents = let ctx-emph = ctx |> set-font Latin italic-font in read-inline ctx-emph contents emph
33.
33 The emph{quick brown}
fox jumps … read-inline {The emph{quick brown} fox jumps … } …… Ctx Ctx
34.
34 emph{quick brown} fox
jumps … read-inline {The emph{quick brown} fox jumps … } …… Ctx Ctx
35.
35 emph{quick brown} fox
jumps … let-inline ctx emph contents = let ctx-emph = ctx |> set-font Latin italic-font in read-inline ctx-emph contents Ctx read-inline {The emph{quick brown} fox jumps … } …… Ctx
36.
let-inline ctx emph
contents = let ctx-emph = ctx |> set-font Latin italic-font in read-inline ctx-emph contents 36 emph{quick brown} fox jumps … Ctx read-inline {The emph{quick brown} fox jumps … } …… Ctx
37.
37 emph{quick brown} fox
jumps … quick brown read-inline {The emph{quick brown} fox jumps … } …… Ctx Ctx CtxÕ
38.
38 emph{quick brown} fox
jumps … brown read-inline {The emph{quick brown} fox jumps … } …… Ctx Ctx CtxÕ
39.
39 emph{quick brown} fox
jumps … read-inline {The emph{quick brown} fox jumps … } …… Ctx Ctx CtxÕ
40.
40 fox jumps … read-inline
{The emph{quick brown} fox jumps … } …… Ctx Ctx
41.
41 fox jumps … read-inline
{The emph{quick brown} fox jumps … } …… Ctx Ctx
42.
42 jumps … read-inline {The
emph{quick brown} fox jumps … } …… Ctx Ctx
43.
43 [ ; ;
] inline-cmd·1 ·n· · · +p{ fbox{parbox(5cm)< +p{ } >} } [ ; ; ] block-cmd·1 ·n· · · • emph : [ inline-text ] inline-cmd • +p : [ inline-text ] block-cmd • parbox : [ length; block-text ] inline-cmd ·i i
44.
• • • • • •
45.
😄 😩 • 45
46.
DSL 46 amidakuji(``` |X|-|=|/| | | |-||-|X| |=|X|-||=| |-||-|=|-| |X|=|-||
| ```); amidakuji([ [Cross ; Line ; … ]; [Empty ; Line ; … ]; [Double; Cross; … ]; … ]);
47.
• DSL 47
48.
• – – Lisp quasiquote –
MetaML [Taha 1997] MetaOCaml [Kiselyov 2014] • – – 48
49.
• – – 49
50.
50 https://drive.google.com/open?id=1LMXFbEXLAjwscC5gKZnvBwR2O5gjIu8Y
51.
• • • • • •
52.
• VM [
matsud224] • – HTML LATEX – • Markdown – 52
53.
• – LTR/RTL – OpenType
on/off jp90 (JIS 90 form) • – – – – – • – Future Work 53
54.
B5 / 160 https://booth.pm/ ja/items/1127224 satysfi
book
55.
• • • • • •
56.
• https://github.com/gfngfn/SATySFi • DSL • • • Pull Request 56
Download now