我终于设法安装了我的 Haskell 程序,所以最后,如果我写
let foo = bar :: A
然后我得到一种行为,如果我写
let foo = bar :: B
然后我得到其他想要的行为。
现在我希望我的程序能够在运行时解析这个参数,但我真的不知道如何继续。有什么建议吗?
编辑:我想解析某种(文本)配置文件,我可以自由地为其制定规范/格式。
一个可能的玩具示例是根据配置文件中提供的进一步上下文将整数读取为 Int 或 Double ,类似于配置文件中的以下内容
barType: Int
barValue: 2
给我 bar = 2 :: Int,并且
barType: Double
barValue: 2
给我 bar = 2 :: 双倍。在这种情况下,我应该能够接受任何具有 Num 实例的类型。
就我而言,我有一个带有一些方法的类型类,我想用该类型类的实例解析任何东西;根据确切的类型,这些方法可以做一些显着不同的事情。我不知道如何为此编写一个 Read 实例。
谢谢。