私は、Erlang プログラムのさまざまなタイピング方法を探して Web を探し回っていますが、いくつかあるようです...確かな情報源を見つけるのはやや難しいですが、次のような実用的な情報を探しています。
1. -specs
- これはかなり魅力的に見えます。いくつかの場所では、関連する -specs ディレクティブを持つ関数がコンパイル時にチェックされると言及されています(正しい型の使用のために)...使用方法に関する詳細情報を見つけることができないようです(どのツールを使用するか-Dialyzer、タイプ?)。フォームの関数宣言からこれらの「仕様」を生成する小さなパーサー/コード生成を作成することに本当に熱心です
functionName(param1 :List, param2 :Tuple) -> ...
抽象-spec
型 (ユーザー宣言型 - "Car" 型 -
{car,{weight,_},{height,_},{maxSpeed,_}}
2.ここに記載されている-deftype
ディレクティブ
入力を開始してコンパイル時にチェックできるようになれば、Erlang は私にとって非常に強力になるでしょう。上記のパーサー/コード生成の実行時は、出力ソースコードでガード タイプ チェックを生成します。