> module Barrie.AbstractGadgets (AbstractGadget, > acommand, achoice, atext, alabel, > ainner, alocal) > where > data AbstractGadget = AG AGadget [String] > deriving (Read, Show) > data AGadget = ACommand > | AChoice > | AText > | ALabel > | AInner > | ALocal > deriving (Read, Show) > acommand, achoice, atext, alabel, > ainner, alocal :: [String] -> AbstractGadget > acommand = AG ACommand > achoice = AG AChoice > atext = AG AText > alabel = AG ALabel > ainner = AG AInner > alocal = AG ALocal