У меня есть два модуля, которые импортируют друг друга. Haskell не поддерживает рекурсивные модули. Итак, как я могу переписать свои типы данных без использования круговой системы модулей.
Вот мой Character.hs
module Character where
import ItemSystem
data Character = Character { name :: String, items :: [Item] }
здесь находится ItemSystem.hs
module Item where
import Character
data ItemEffect = CharacterEffect (Character -> Character)
| ItemEffect (Item -> Item)
data Item = Item { name :: String, weight :: Int, effect :: ItemEffect }
UPDATE: я напишу все типы данных в один модуль:(.