1
1
mirror of https://github.com/github/semantic.git synced 2024-12-23 06:41:45 +03:00

Define a Listable1 instance over (Listable1 f, Listable a) => FreeF f a.

This commit is contained in:
Rob Rix 2017-01-07 09:03:38 -05:00
parent 7154708015
commit 8a06e024f5

View File

@ -86,6 +86,9 @@ instance Listable1 f => Listable1 (Cofree f) where
instance Listable1 f => Listable2 (FreeF f) where
liftTiers2 pureTiers recurTiers = liftCons1 pureTiers Pure \/ liftCons1 (liftTiers recurTiers) Free
instance (Listable1 f, Listable a) => Listable1 (FreeF f a) where
liftTiers = liftTiers2 tiers
instance Listable1 f => Listable1 (Free f) where
liftTiers pureTiers = go
where go = liftCons1 (liftTiers2 pureTiers go) free