我使用Apocalisp's type-level programming guide实现了自己的HList
类型。现在我正在尝试使用以下签名实现一个函数:
extend : (A => B) => (A ::: R) => (B ::: R)
where
A, B, R <: HList and ':::' is type-level concatenation.
很遗憾,我不知道如何隔离输入列表A
的{{1}}和R
组件。 最好的方法是什么?
我不能依赖外形库,比如无形,除了追加和扩展之外,我不会使用任何HList函数。