我一直在学习《Real World Haskell》,但是在使用Maybe方面卡住了。我按照第三章的例子写了这个数据类型和相应的函数。书中建议尝试将其转换为使用Maybe并且去除Nil类型。我一直在尝试,但是无法做到。我尝试在不同的位置添加maybe,但只是猜测而不是真正知道如何做。
data List a = List a (List a)
| Nil
deriving (Show)
toList :: List a -> [a]
toList (List a Nil) = a:[]
toList (List a as) = a:(toList as)