数据类型声明中的多个声明错误

时间:2016-07-02 06:39:08

标签: haskell

我目前正在Haskell中构建一个Twitter CLI客户端,我有一个代表DM的数据类型和一个代表推文的数据类型。但是,我得到一个多重声明错误,因为我必须使用相同的名称:

data Users =  Users { screen_name :: String } deriving(Show, Generic)


data Tweet = Tweet { text :: !Text,
                     retweeted :: Bool,
                     user :: Users
                   } deriving (Show, Generic)

data DM = DM { text :: !Text,
               sender_screen_name :: String
             } deriving (Show, Generic)

有人知道这个特定问题的解决方案吗?

1 个答案:

答案 0 :(得分:0)

根据定义here,命名成员只是用于调用数据结构中的值的函数。

因此,如果您真的想要使用它们,可以使用语言扩展来实现。您可以在文件中声明:

{-# LANGUAGE DuplicateRecordFields #-}