Я новичок в 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)) => ...
тогда я смогу использовать раму или ее компоненты.
Спасибо.