相关疑难解决方法(0)

Haskell:获取数据构造函数名称作为字符串

让我们说我们有

data D = X Int | Y Int Int | Z String
Run Code Online (Sandbox Code Playgroud)

我希望有一个功能 getDConst

getDConst :: D -> String
Run Code Online (Sandbox Code Playgroud)

根据用于输入的数据构造函数返回"X","Y"或"Z".是否有一种通用的方法来编写它而不必case对每个数据构造函数进行编写?(我可以使用依赖于Data.Typeable类似的解决方案)

reflection haskell generic-programming ghc deriving

15
推荐指数
2
解决办法
2090
查看次数

使用 GHC.Generics 将数据构造函数名称作为字符串获取

我想要类似以下内容:

constrName :: Data a=> a -> String
constrName = showConstr . toConstr
Run Code Online (Sandbox Code Playgroud)

但是对于GHC.Generics. 我看到了这个Constructor类,但在范围内没有看到任何实例。我正在使用base-4.8.1.0.

generics haskell ghc

4
推荐指数
1
解决办法
419
查看次数