假设我在 Haskell 中编写了一些类型级别的程序:
type family NAryFn (n::Nat) (dom::*) (cod::*) :: *
type instance NAryFn Ze dom cod = cod
type instance NAryFn (Su n) dom cod = dom -> NAryFn n dom cod
我认为这很有用,我想在我的项目中使用它。所以我把它放在一个模块中。
什么是模块的好分层名称?(参见Haskell 分层模块)
很多数据结构都存在于Data
( Data.Text
,Data.List
等) 中,各种结构化效果的方式都存在于Control
诸如Control.Monad
orControl.Applicative
中。
类型级程序应该放在哪里? Type
? TypeFamily
? 达成共识了吗?