Skip to content

Emacs as a VM

公開日:

Download PDF

スライドテキスト

Page 1

Emacs as a VM

A Virtual Machine called Emacs

pixiv Inc.
USAMI Kenta

2024-07-13 TechFeed Expert Night

Page 2

お前誰よ

  • うさみけんた (@tadsan) / Zonu.EXE / にゃんだーすわん
  • ピクシブ株式会社 pixiv事業本部 エンジニア
    • 最近はピクシブ百科事典(dic.pixiv.net)を開発しています
  • Emacs Lisper, PHPer
    • Emacs PHP Modeを開発しています (2017年-)
  • TechFeed公認PHPエキスパート

Page 3

私の立ち位置

Page 4

Page 5

Emacs最新情報!

Page 6

といいたいのですが

Page 7

わかりやすい
ニュースとしての
変化は多くない

Page 8

Emacs30の開発は 着々と進んでいます

Page 9

AIなど使えるような 拡張も登場している

Page 10

さて

Page 11

前回のおさらい

Page 12

Vimはいいぞ!

Page 13

Page 14

Emacsの
本質とは何か

Page 15

A modern
Lisp machine

Page 16

Page 17

そういう機械が
40年以上前にあった

Page 18

「Multi-Paradigm Language TAO」より引用

https://www.nue.org/nue/tao/bitao/s001.html

Page 19

この写真は国産LISPマシンのELIS なので本家Emacsの開発経緯とは直 接関係ないのだが内蔵されたZENと いうEmacs風独自エディタの日本語 入力メソッドKanzenが後のSKKに 繋がりIME史に影響を及ぼしている

Page 20

みなさんご存じ 通り

(ない)

LISPマシンのような 高級言語専用マシンは
廃れている

Page 21

だが、Lispは
死滅していなかった!

Page 22

世紀末救世主伝説Emacs

Page 23

スクリプトで拡張できる テキストエディタの元祖

Page 24

元祖Emacsは
TECOというエディタの
拡張マクロ集

(EditorMACroS)

Page 25

この人が作りました

Page 26

なんだかんだありまして

Page 27

Page 28

リチャードストールマン(RMS)とかいう若者 がマサチューセッツ工科大学で自由を求めて 戦ったりAI研究所でLispを書いてたりしてた らラボ内がLISPマシンを作ってる企業の派閥 で分裂ちゃったのでどうしようもなくなって AIラボを去ってGNUっていう自由なOSを作
ろうぜ!という物語があったりするのは後の話

Page 29

自由なOSを作りたいよ
まずコンパイラと
エディタを作ったよ

Page 30

そうしてGCCと
Emacsができましたとさ

Page 31

めでたしめでたし

Page 32

振り返りここまで

Page 33

改めて

Page 34

Emacsで何ができるか ユーザーと非ユーザーで 大きな認識の開きがある

Page 35

(ある種のジョークとして)
しばしば
Emacsはエディタではない
と言及される

Page 36

Page 37

Page 38

Emacsはなんでもできる

Page 39

メーラーでもあり
RSSリーダーでもあり EPUBやPDFも読める

Page 40

EmacsはOS Emacsは環境

Page 41

ジョークではなく

Page 42

Emacsの大きな誤解

Page 43

「Emacsってターミナルの
エディタでしょ?」

Page 44

EmacsはGUIでも動く

Page 45

起動時から目立つEmacsロゴ

Page 46

フォントを扱える

Page 47

PDFが開ける

Page 48

EPUBも開ける

Page 49

EPUBも開ける

Page 50

ディレクトリを開いて画像見れる

Page 51

ディレクトリを開いて画像見れる

Page 52

Page 53

Page 54

ウィンドウ内で
ブラウザも開ける!
(が、macOSで動作しなかった…)

Page 55

Page 56

Emacsは単なる エディタではなく
アプリケーション実行環境

Page 57

OSを問わず実行できる

(Windows, GNU/Linux, *BSD,
macOS, Haiku, ...)

Page 58

…といいたいが、
外部プロセスやファイル
システムに依存すると
意図通り動かない

Page 59

WindowsではWSLで
動かすこともできる
(WSLgでGUI起動もできる)

Page 60

問題意識を持って 高速な非同期UIを
実装している人も居る

Page 61

Page 62

Page 63

Page 64

Emacsは環境!

Page 65

仮想環境?

Page 66

「Multi-Paradigm Language TAO」より引用

https://www.nue.org/nue/tao/bitao/s001.html

Page 67

現代に残る最後の (仮想)Lispマシン

Page 68

言語にはパワーがある

Page 69

「普通のやつらの上を行け ---Beating the Averages---」より引用

http://practical-scheme.net/trans/beating-the-averages-j.html

Page 70

「普通のやつらの上を行け ---Beating the Averages---」より引用

http://practical-scheme.net/trans/beating-the-averages-j.html

Page 71

「普通のやつらの上を行け ---Beating the Averages---」より引用

http://practical-scheme.net/trans/beating-the-averages-j.html

Page 72

ということを
Yコンビネータ創始者の
ポールグレアムが
言ってる

Page 73

Page 74

ハッカーになりたければ

Emacs

Page 75

Page 76

外見に変化はなくても 中身は洗練されている

Page 77

コンピュータサイエンス
の問題に立ち向かって
最強の環境を作りたい人
はEmacsを

Page 78

コミュニティは
Emacs JPのSlackに (不定期にオンラインミートアップも
やってるよ)

Page 79

Page 80

Page 81

Page 82