【发布时间】:2015-03-16 18:08:16
【问题描述】:
在阅读F#的源码时,发现List<'T>类型的definition,长这样:
type List<'T> =
| ([]) : 'T list
| (::) : Head: 'T * Tail: 'T list -> 'T list
有人能解释一下上面的语法吗?编译器警告说“此构造已弃用:它仅用于 F# 库”。语法只是定义有区别的联合的一种旧方法吗?如果是这样,为什么Tail 的类型是'T list -> 'T list 而不仅仅是'T list?
【问题讨论】:
标签: f#