有没有办法以sml中的let绑定方式表示记录类型?

时间:2016-07-28 23:44:05

标签: functional-programming record sml

如果我有如下记录:

type president = {name: String, age: int};

我可以仅使用let绑定和funfn之类的简单表示相同的信息吗?

2 个答案:

答案 0 :(得分:2)

您可以在let中使用类型别名,就像任何其他声明一样:

let
    type t = {name: string, age: int}
in
    some_expression
end

答案 1 :(得分:1)

你的意思是:

fun f (x : {name : string, age : int}) = ...#name x...#age x...

或者可能更简洁地使用模式匹配:

fun f {name : string, age : int} = ...name...age...

或者你的意思是其他什么?