Ответ зависит от типа значения, хранящегося в списке ассоциаций. В наиболее общем случае вы можете параметризовать тип Blah
для типа mapValue
, например:
let Blah =
λ(a : Type)
→ < First :
{ name : Text, params : List { mapKey : Text, mapValue : a } }
| Second :
{ name : Text }
>
in (Blah Natural).First
{ name = "Alex", params = [ { mapKey = "a", mapValue = 1 } ] }
Если вы заранее знаете нужный тип mapValue
, вы можете жестко закодировать его вместо того, чтобы Blah
быть функцией типа. Или, если вы планируете использовать Blah
для одного и того же типа mapValue
несколько раз, вы можете сделать что-то вроде этого:
let Blah =
λ(a : Type)
→ < First :
{ name : Text, params : List { mapKey : Text, mapValue : a } }
| Second :
{ name : Text }
>
let Foo = Blah Natural
in [ Foo.First { name = "Alex", params = [ { mapKey = "a", mapValue = 1 } ] }
, Foo.Second { name = "John" }
]