import qualified Data.Sequence as Q
import Data.Sequence ((|>), (><), Seq( (:|>), (:<|) ) )
import Control.Lens hiding (Level)
import qualified Data.Sequence as Q
import Data.Sequence ((|>), (><), Seq( (:|>), (:<|) ) )
import Control.Lens hiding (Level)
moduleP = broadcastP <|> flipFlopP <|> conjunctionP
broadcastP = (Broadcast, "broadcaster") <$ "broadcaster"
moduleP = broadcastP <|> flipFlopP <|> conjunctionP
broadcastP = (Broadcast, "broadcaster") <$ "broadcaster"
-flipFlopP = (FlipFlop False, ) <$> ("%" *> nameP)
-conjunctionP = (Conjunction M.empty, ) <$> ("&" *> nameP)
+flipFlopP = (FlipFlop False, ) <$ "%" <*> nameP
+conjunctionP = (Conjunction M.empty, ) <$ "&" <*> nameP