是否有可能制作以下类型的光学材料:
getIndex :: Lens.IndexedGetter i a i我找不到一个现有的,在试图写一个失败的尝试,我有一种感觉,这是不可能的,但如果是这样,我想知道为什么是这样的解释。
发布于 2018-02-22 12:47:45
索引是由getter任意定义的,因此没有通用的创建方法。
IndexedGetter i s i通过以下双射与s -> (i, i)同构:
ito :: (s -> (i, a)) -> IndexedGetter i s a
iview :: IndexedGetter i s a -> s -> (i, a)forall s i. IndexedGetter i s i (完全量化的getIndex类型)将与forall s i. s -> (i, i)同构,但没有人居住(这意味着() -> (Void, Void)与s ~ ()和i ~ Void)。
https://stackoverflow.com/questions/48927421
复制相似问题