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