2022-12-25: プログラミング言語を作っていた
やったこと
日常
モチベーションが0になっている。
どうしてここまでダメなのか‥‥。
仕方ないのでプログラミング言語を作っていた。
Dynamo
Dynamoという名前のプログラミング言語を作っている。
コンセプトとしては、式が複数の値を持てるプログラミング言語。
Icon言語のジェネレーターを意識している。
let x = 1 | 2;
で x
が 1
もしくは 2
みたいになる。
もしくは (1 | 2) + (3 | 4)
が 4 | 5 | 5 | 6
みたいになる。
変数の代入時は一気に計算する。
if
文とかのときは truthy
な値が来るまで評価するのだけど、Scalaのイテレーターとして実装したら、hasNext
が呼ばれる都合で1個先まで評価されてしまっていてよくない気がする。
if print(1) | true | print(3) { ... }
は 1
だけ表示されてほしい。