vm2gol-v2 移植まとめ

要件をゆるゆるにしてハードルを下げまくった、初心者・入門者(=自分)向けの、かんたん・素朴で割といいかげんな自作言語のコンパイラ(+α) vm2gol-v2 の移植です。

移植元の Ruby版のコンパイラ部分だけだと 1000行くらい、という素朴さ。

  • ノリとしては zick さんの LISP Implementation Advent Calendar : ATND hatebu (2014年、 Wayback Machine )に近い感じ(のつもり)
  • mal (Make a Lisp) の影響もちょっとあると思います
  • 基本的にやっつけ、ものによっては殴り書きです。 動いたら(コンパイルできたら)そこで終わりで、気が向けば多少はきれいにしたりして、次の言語へGO。細かいことを気にしだすと無限に時間がかかるので割と意図的に気にしないようにしています。
  • それぞれの言語に詳しくなることよりも、とにかく作って動かすことを優先しています
    • 「その言語らしい書き方」にするようがんばらない。できる範囲で。気が向いたらやる。
    • 「習うよりも慣れろ」スタイルで
  • Java 以外はエディタ(Emacs)と print デバッグで。 ものによっては language server を併用。

記事 リポジトリ 日付
Haskell github 2021-06-28
OCaml github 2021-06-26
Pascal github 2021-05-22
Julia github 2021-05-03
Rust github 2021-04-07
Crystal github 2021-03-27
セルフホスト github 2021-02-21
Kotlin github 2021-01-14
Zig github 2021-01-07
LibreOffice Basic github 2020-12-14
Go github 2020-09-25
PHP github 2020-09-18
C♭ github 2020-09-13
Perl github 2020-09-08
C github 2020-09-06
Java github 2020-08-30
Dart github 2020-08-22
Python github 2020-08-19
TypeScript (Deno) github 2020-08-15