タグ

ブックマーク / qiita.com/sym_num (1)

  • ISLispにおける型推論コンパイラ - Qiita

    はじめに 自作のISLisp処理系のEasy-ISLisp(EISL)のコンパイラにつき、型推論器を組み込んでテストをしています。ver0.85より実験的に導入しました。 動作例 現在のところコンパイラ起動の際に第2引数にtypeというシンボルを与えた場合に型推論を行うようにしています。 例1 この例、関数fooではlengthに数が与えられてしまいますから、実行時にエラーになります。これを型推論でチェックしてワーニングメッセージを出しています。コンパイルは可能なのでコードは生成されます。 (defun foo (x) (length (+ x 1))) > (compile-file "tarai.lsp" 'type) initialize pass1 inferencing FOO ("subr type mismatch" ((LENGTH (+ X 1)))) pass2 com

    ISLispにおける型推論コンパイラ - Qiita
    hikazoh
    hikazoh 2018/01/04
  • 1