第24回プログラミングおよびプログラミング言語ワークショップ(PPL 2022, https://jssst-ppl.org/workshop/2022/index.html )にて招待講演として発表させて頂いた際のスライドです. 以下のページでも閲覧可能です: https://gfngfn.github.io/ja/posts/2022-05-11-slides-ppl2022-invited/Read less
イベント概要 SATySFiのソフトウェア会議をclusterで開きます。 clusterのイベントページ: https://cluster.mu/e/696f43ab-d0c2-4fc7-b390-ba741eb4227b clusterでの参加が難しい方などのために、同時のYouTube配信をします。 配信のリンク: https://youtu.be/m3xa9__DRaw 当日参加できなかった方などのために、後日YouTube配信をそれぞれの発表で切り分けた動画を公開します。 人数把握のために基本的にこちらから参加登録をお願いします。 イベントのまとめ記事を書きました:https://puripuri2100.hatenablog.com/entry/2022/01/20/205344 過去の様子 SATySFi Conf 2020のまとめ記事: https://puripuri21
This document discusses SATySFi, a static analysis-based typesetting system for functional implementation. It provides an overview of SATySFi's features such as being a better LaTeX alternative, using OCaml for its implementation, and supporting Unicode, OpenType features, and dynamic typesetting through a domain specific language. The document also outlines some areas for future work such as impr
この記事は SATySFi Advent Calendar 2019 3日目の記事です。 2日目はSATySFiの作者であるgfngfnさんによるSATySFiの2段組機能でした。 追記 2020/12/08: satysfi-docker から docker-satysfi に名前を変更しました。以降の文章は面倒なので satysfi-docker のままですが、今後書く文章には docker-satysfi を使います。 前置き SATySFi をインストールするためには opam と OCaml コンパイラのインストールが必要ですが、OCaml を使わない人にとっては SATySFi のためだけに opam 環境を入れるのは面倒です。 opam をすでに使っている人にとっても、SATySFi のインストールには専用の opam repository を使うので環境を分けるために SA
SATySFiは現代的な設計に基づく組版処理システムです. 組版を行うバックエンドへ指示が関数型プログラミングで行えることが最大の特徴です. 言語としてはOCamlやSMLに近い構文を持ち,少しでもML系の言語とかHaskellに触ったことがある人なら特に苦労することなく高度な組版処理をプログラムすることができると思います. 実際私は技術書典の記事をSATySFiで記述していますがレイアウトに不満がある時などにささっと自分の手で変更できる(すくなくともそれに抵抗をあまり感じない)のは大きな魅力だと思います.(LaTeXを使う時はひたすらStack Exchangeで自分と同じようなハマり方をしてる人を探すガチャをしています.虚無.) ただし,あくまで組版処理がメインのため,プログラミング言語単体で見るとまだまだ不便なところもあります.たとえばSATySFiにはMLライクなモジュールシステム
プログラムモードの字句は以下の通り(\sは[ \t\n\r]): /\s+/ 空白(無視) /%.*$/ コメント /@\w+:.*$/ ヘッダ指令 /\(\)/ ユニット /\(/ .. /\)/ 括弧 /\(\|/ .. /\|\)/ レコード /\[/ .. /\]/ リスト /;/ リスト区切り /\{/ .. /\}/ 水平モード /'</ .. />/ 垂直モード /\$\{/ .. /\}/ 数式モード /<\[/ .. /\]>/ パスのための括弧 /\.\./ パス曲線オペレータ /--/ パス直線オペレータ /`+/ リテラル (同じ数の /`/ で閉じる) /\\[a-zA-Z][-a-zA-Z0-9]*/ 水平コマンド名 /\+[a-zA-Z][-a-zA-Z0-9]*/ 垂直コマンド名 /\#/ メンバオペレータ /->/ 矢印 /<-/ セルの書き換えオペレータ
タイトルの通りふと思い立ってSATySFi用のVimプラグインを作ったので紹介します。 https://github.com/qnighy/satysfi.vim SATySFi とは SATySFiはgfn氏が未踏プロジェクトとして開発している組版システムです。LaTeXのような美しい組版を、一から設計しなおしたまともな言語で行うことができるのが特徴です。 SATySFiはプログラムパートにOCaml風の関数型言語、組版パートにLaTeX風のマークアップ言語を使い、準クオートのような構文で両者を切り替えながら文書を記述します。組版結果はPDFとして直接出力されます。 satysfi.vimの機能 satysfi.vim は現在、シンタックスハイライトと自動インデントを提供します。 SATySFiの持つモードを正しく識別してハイライトします。例えば let はプログラムモードではハイライト
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く