私はMLを初めて使用し、特別な事前定義されたデータ型を受け取り、そのコンポーネントではなく、引数のデータ型全体を参照できる関数を持っています。
これは愚かな例です:
datatype frame = Frame of string list * string list
(* Type: fn : string * frame -> frame *)
val lookup_variable_value_in_frame =
fn (string(var), Frame(variables, values)) =>
...
Frame(variables, values)
... ;
1)指定されたフレームを返したい。別のものを作成する必要がありFrame
ますか?
2)指定されたフレームを別の関数に渡したいのですが、新しいものFrame(variables, values)
を再度提供する必要がありますか?
私はこのような何かを書くことができたらいいのにと思います:
val lookup_variable_value_in_frame =
fn (string(var), frame : Frame(variables, values)) => ...
そうすれば、フレームまたはそのコンポーネントを使用できるようになります。
ありがとうございました。