Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {-# LANGUAGE GADTs #-}
- instance Бурито Списък where
- (✨) хикс = хикс `СлепенС` ПразенСписък
- списъкОтМесо 🔜 рецептаЗаБуритоСМесоИЗеленчуци =
- (💥) ((📄) рецептаЗаБуритоСМесоИЗеленчуци списъкОтМесо)
- class Бурито обвивка where
- (✨) :: месо -> обвивка месо
- (🔜) :: обвивка месо -> (месо -> обвивка месоСъсЗеленчуци) -> обвивка месоСъсЗеленчуци
- data Списък елемент
- = ПразенСписък
- | елемент `СлепенС` (Списък елемент)
- deriving Show
- (📄) :: (такова -> онакова) -> Списък такова -> Списък онакова
- (📄) _ ПразенСписък = ПразенСписък
- (📄) таковай (това `СлепенС` другите) = таковай това `СлепенС` (📄) таковай другите
- (➕) :: (нещо ~ същотоНещо, същотоНещо ~ катПървитеДве) => Списък нещо -> Списък същотоНещо -> Списък катПървитеДве
- ПразенСписък ➕ някъвДруг = някъвДруг
- (това `СлепенС` другите) ➕ някъвДруг = това `СлепенС` другите ➕ някъвДруг
- (💥) :: Списък (Списък нещо) -> Списък нещо
- (💥) ПразенСписък = ПразенСписък
- (💥) (многоТакива `СлепенС` многоДруги) = многоТакива ➕ (💥) многоДруги
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement