PLPLのメモ
流れが速いので、その内辿れなくなりそうなので、mrsekut.iconが気になったものをコピペしておく。
リンクは貼ったところでアクセスできなくなって悲しくなりそうなので、コピペする
mrsekut.iconが消化したら消していく
でかすぎるな。ノート分けるかー?
arch
実装よりの話をするところ
2019/6/3
general
go
jit
上にあげた論文では「Native code」という亜種として紹介されていますが、VMの実行ループの速度向上を追求した結果、もはやVMインタプリタではなく原始的なJITになってしまっているという。
ただ、Cでコンパイルしたコード片をコピペして連結するよりは、普通に機械語を吐いた方が効率的な気がします。 ref lisp
言語紹介
IR から要らないコード削ってて頑張ってる感じが見える
並列論理プログラミング言語
Prologで言うゴールが並列処理される。各ホーン節にガードを記述でき、これで実行するか否かを制御する。
https://www.youtube.com/watch?v=TH9VCN6UkyQ
現状まだClosed Sourceですが、Jaiという言語があります。
PCゲーム開発者として有名なJonathan Blow氏が作っている言語で、ゲーム開発に向いた言語を目指しているようです。
コンパイル時実行、GC less、シンプルな所有権、暗黙のコンテキスト、高速なコンパイルあたりが気になりました。
Youtubeに開発の動画が上がっているので見てみると面白いかもしれません。
papers
PLDI2018
メモリの高速性とストレージの永続性を兼ね備えている persistent memory を言語処理系からどのように扱うかについて論じている。 ファイルシステムやデータベースなどを考察する際には参照したい論文だと思われる。
2新浮動小数点数を10進数に変換する新しいroutineであるRyuについて
従来のものよりシンプルで、3倍速い
Spiking Neural Networks (SNNs) に特化したメニーコアの neuro-morphic processor (人間の神経細胞を模したプロセッサ) である Loihi 向けのコンパイラを作った話
型の話
おもしろそう
2019/6/3
Rust
2019/6/3
雑談
「SmallTalk言語風のオブジェクト間通信」「オブジェクトをVM化して自律制御」「継続(continuation)によるシーン遷移」
言語
2019/6/3
tools
自作言語のランタイムをRustで書きたいけどGCはとりあえずコンサバティブGCでいいや、みたいなときに使ってください。少し前に、Boehm GCにstackful coroutineのサポートが入ったのでそれにも対応してあります。
raviqqe氏作
BNF Converter
コンパイラのfront-endを生成してくれる BNF Converter (bnfc)は,そこそこ面白いです.Labeled BNFという記法で構文を記述すると,lexerジェネレータ(たとえばflex)用, parserジェネレータ(たとえばbison)用コード,プリティプリンタのモジュールコード(C,C++,Java,Haskell) ,ドキュメント用LaTeXファイルを生成してくれます.
intasparse
nstaparseというClojureのすばらしいparser generatorがありまして、CFG書いてtransformer書けば大抵の文法は綺麗にいちころです。Lexerも基本いらない/parserの一部として書けちゃいます。残念ながらClojure以外で使えるかどうかは知らないです。
wasm
言語設計
情報共有
言語実装のための仮想機械についてのサーベイ論文。JVMからGマシン、果てはawkの実装方式に言及あり
GHCで使われている最適化をまとめた論文
昨日今日と東京で開催されたde:code 2019のCM12というセッション向けに、補足技術資料として書いたものを公開したので共有します。カバー範囲は.NETにおけるマルチプラットフォーム対応テクニックについて考えられる一般的な手法からランタイム内部向けのものまでの概要とポインタです - セッション「CM12: .NET Core マルチプラットフォームの本質」に対応するサンプルコードと解説
論文紹介ですが、この論文のインクリメンタルなアプローチは8ccに大きな影響を与えていて、Writing an interpreter in Goを書いたThomas Bellさんもたしかこれを参考文献にあげていたと思うので、実は自作コンパイラ界にはわりと影響があった論文なのかも。
補助教材
オンラインブック、なんの?
Nystrom氏
直接コンパイラではないですがアセンブラとかその辺の入門によさそう?
たなかむらさんの低レイヤプログラミングの入門
Unicode の普及で今となっては若干の古さも感じますが、C プリプロセッサの詳しい解説をこれ以外に知らないです。C の文字の扱いの駄目さ加減とかも、きちんと書かれています
進捗報告