タグ

ブックマーク / pages.zick.run (2)

  • Ichigo Lispコンパイラ完全解説

    Ichigo Lispコンパイラ完全解説 はじめに この記事では私がWebAssemblyで書いた Ichigo Lispという LISP 1.5実装のコンパイラのソースコードをすべて解説する。 というのも、最近とあるコンパイラのを読んで 「説明が特定の実装に基づいてる割にそのソースが一部しか載ってない」 という不満を感じたのだが、自分で書いたコンパイラの記事 を読み返してみると、コンパイラのソースコードが一切出てこないことに気づいた。 こんな記事を書きながらよく人様のに不満を持てたものだと 瀬戸内海より深く反省したので、 ここにIchigo Lispのコンパイラのすべてのソースコードを解説する。 想定読者とか Ichigo Lispのコンパイラは(ほとんど)すべてLISP 1.5で書かれている。 LISP 1.5特有のややこしい機能などは使っていないので、 Common Lisp、S

  • Googleスプレッドシートの名前付き関数でLISPインタプリタを作った

    Googleスプレッドシートの名前付き関数でLISPインタプリタを作った はじめに こんなの を作った。 エラーチェックをサボっていたり、 少し複雑な計算をすると途中で打ち切られたりするが、 それなりに遊べるはず。 Googleスプレッドシートとは Googleスプレッドシートはいわゆる表計算ソフト。 表に色々入力したり、色々計算させたりする。 =SUM(A2:A10) とか書くと2行A列から10行A列までの合計を計算してくれたりする。 スクリーンショットを貼り付けるためのソフトではないはず。 名前付き関数とは Googleスプレッドシートには前述のSUMの他にも色々関数があるが、 ユーザが自分で新しい関数を定義することもでる。 例えばNの階乗を求める関数を定義してみよう。 メニューの [データ] - [名前付き関数] を選択し、 [新しい関数を追加] をクリック。 [関数名] に FA

    ene0kcal
    ene0kcal 2022/10/03
    なんとおぞましい(褒めてる)。
  • 1