这将是一个非常不寻常的问题,但我正在以一种非常特殊的方式生成 Haskell 代码,所以我知道我正在尝试做的事情听起来可能是一种反模式。
让我们说:
- 我们有图书馆
LA
和LB
- 库
LA
由模块组成A
,库LB
由模块组成B
- 每个模块定义
DataType
(分别DA
和DB
) - 我们有一个模块
X
,它只包含定义TypeClass
TX
DA
和都是DB
_TX
我正在生成LA
并LB
在单独的步骤中,它们彼此不知道,因此该模块X
不能成为其中任何一个的一部分。(DA
并且DB
简单地共享定义在 中的通用函数TX
)。
我想问你是否可以将模块与X
库分开?LA
LB
我是否必须制作X
单独的库 ( LX
) 或者有一种方法可以告诉 HaskellDA
并且DB
只是相同 TypeClass
X
的实例。
制作一个单独的库X
(只包含一个库TypeClass
对我来说似乎有点过头了,但在这种情况下,不可能有更好的解决方案)。