Suche senden
Hochladen
静的型つき組版処理システムSATySFi @第61回プログラミング・シンポジウム
•
5 gefällt mir
•
2,207 views
T. Suwa
Folgen
第61回プログラミング・シンポジウムにて発表した際のスライド資料です.
Weniger lesen
Mehr lesen
Ingenieurwesen
Melden
Teilen
Melden
Teilen
1 von 56
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
明日使えないすごいビット演算
明日使えないすごいビット演算
京大 マイコンクラブ
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
Hibiki Yamashiro
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
trmr
Quine・難解プログラミングについて
Quine・難解プログラミングについて
mametter
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba
AtCoder Beginner Contest 012 解説
AtCoder Beginner Contest 012 解説
AtCoder Inc.
Empfohlen
明日使えないすごいビット演算
明日使えないすごいビット演算
京大 マイコンクラブ
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
Hibiki Yamashiro
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
trmr
Quine・難解プログラミングについて
Quine・難解プログラミングについて
mametter
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba
AtCoder Beginner Contest 012 解説
AtCoder Beginner Contest 012 解説
AtCoder Inc.
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
yohhoy
ダブル配列の実装方法
ダブル配列の実装方法
Higashiyama Masahiko
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
MITSUNARI Shigeo
新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには
Asai Masataro
初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法
kazkiti
Map Reduce 〜入門編:仕組みの理解とアルゴリズムデザイン〜
Map Reduce 〜入門編:仕組みの理解とアルゴリズムデザイン〜
Takahiro Inoue
入門 シェル実装
入門 シェル実装
Yusuke Sangenya
ラムダ計算入門
ラムダ計算入門
Eita Sugimoto
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
Ken'ichi Matsui
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Shota Shinogi
並列化による高速化
並列化による高速化
sakura-mike
僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達
Yusuke Wada
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
ZDD基礎
ZDD基礎
reew2n
ウェーブレット木の世界
ウェーブレット木の世界
Preferred Networks
RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介
MITSUNARI Shigeo
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
Binary indexed tree
Binary indexed tree
HCPC: 北海道大学競技プログラミングサークル
C/C++プログラマのための開発ツール
C/C++プログラマのための開発ツール
MITSUNARI Shigeo
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
Weitere ähnliche Inhalte
Was ist angesagt?
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
yohhoy
ダブル配列の実装方法
ダブル配列の実装方法
Higashiyama Masahiko
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
MITSUNARI Shigeo
新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには
Asai Masataro
初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法
kazkiti
Map Reduce 〜入門編:仕組みの理解とアルゴリズムデザイン〜
Map Reduce 〜入門編:仕組みの理解とアルゴリズムデザイン〜
Takahiro Inoue
入門 シェル実装
入門 シェル実装
Yusuke Sangenya
ラムダ計算入門
ラムダ計算入門
Eita Sugimoto
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
Ken'ichi Matsui
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Shota Shinogi
並列化による高速化
並列化による高速化
sakura-mike
僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達
Yusuke Wada
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
ZDD基礎
ZDD基礎
reew2n
ウェーブレット木の世界
ウェーブレット木の世界
Preferred Networks
RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介
MITSUNARI Shigeo
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
Binary indexed tree
Binary indexed tree
HCPC: 北海道大学競技プログラミングサークル
C/C++プログラマのための開発ツール
C/C++プログラマのための開発ツール
MITSUNARI Shigeo
Was ist angesagt?
(20)
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
ダブル配列の実装方法
ダブル配列の実装方法
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには
初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法
Map Reduce 〜入門編:仕組みの理解とアルゴリズムデザイン〜
Map Reduce 〜入門編:仕組みの理解とアルゴリズムデザイン〜
入門 シェル実装
入門 シェル実装
ラムダ計算入門
ラムダ計算入門
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
並列化による高速化
並列化による高速化
僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
ZDD基礎
ZDD基礎
ウェーブレット木の世界
ウェーブレット木の世界
RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
Binary indexed tree
Binary indexed tree
C/C++プログラマのための開発ツール
C/C++プログラマのための開発ツール
Ähnlich wie 静的型つき組版処理システム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
Ähnlich wie 静的型つき組版処理システム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
Mehr von T. Suwa
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
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
Mehr von T. Suwa
(8)
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
SATySFi 最近の発展と目下実装中の変更
SATySFi 最近の発展と目下実装中の変更
SATySFiのこれからの課題たち
SATySFiのこれからの課題たち
多段階計算の型システムの基礎
多段階計算の型システムの基礎
ラベルなしオプション引数の型システムと型推論
ラベルなしオプション引数の型システムと型推論
レコード計算の多相型システムと型推論
レコード計算の多相型システムと型推論
Macrodown -MLが使えるML-
Macrodown -MLが使えるML-
TeX言語の展開制御による文書の構造化(TeXユーザの集い2014)
TeX言語の展開制御による文書の構造化(TeXユーザの集い2014)
Kürzlich hochgeladen
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
Suhani Kapoor
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
Tsuyoshi Horigome
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
rakeshbaidya232001
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
SIVASHANKAR N
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
pranjaldaimarysona
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
rknatarajan
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
ranjana rawat
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
Suhani Kapoor
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
rknatarajan
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
ranjana rawat
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
RajaP95
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
ssuser5c9d4b1
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
RajkumarAkumalla
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Christo Ananth
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur High Profile
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
sivaprakash250
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
sanyuktamishra911
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Call Girls in Nagpur High Profile
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
upamatechverse
Kürzlich hochgeladen
(20)
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
静的型つき組版処理システム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
Jetzt herunterladen