module Items ( item_name, make_sword, unusual_material ) where import Materials import Language data ItemType = Weapon | Helmet | Bottle data Item = Item { item_type :: ItemType, item_name :: NounPhrase, item_composition :: [Material], item_contents :: [Item] } make_sword :: Item make_sword = Item { item_type = Weapon, item_name = noun N_sword, item_composition = [Iron], item_contents = [] } unusual_material :: Material -> Item -> Item unusual_material m i = i { item_name = adjective (AJ_MATERIAL m) (item_name i), item_composition = [m] }