【发布时间】:2013-02-14 09:26:35
【问题描述】:
所以我有这样的结构:
data Maybe a = Nothing | Just a
但我想要一个定义为
的结构data MaybeInt = Nothing | Just Int
有没有办法使用Maybe a 定义MaybeInt,如果可以,如何定义?
【问题讨论】:
-
type MaybeInt = Maybe Int是你的意思吗? -
type,是的,但不要这样做,当同义词真正意味着什么时使用同义词——MaybeInt绝对不会比Maybe Int给你买任何东西。 -
@DanielFath 什么样的类型接口? Haskell 应该接受
Maybe Int在任何地方接受MaybeInt。 -
@DanielFath:那么您只需拥有
convert :: Maybe Int -> Int。 -
@DanielFath 请注意,
Maybe -> Int不是有效的类型签名。不管你用类型同义词写MaybeInt -> Int还是Maybe Int -> Int都没有区别。