úλ     None!"HM7A monad for hooking up inputs and outputs to a program.6An event that carries values of type a when it occurs.A value of type a that varies.DAn event which gets the value of a signal when another event occurs.7Like snapshot but ignores the original event's payload.,Filter out events with the value of Nothing.)Filter out events using a Maybe function.(Filter out events using a Bool function.An event that never happens. GSum over events using an initial state and a state transition function. ÖAn event that occurs when an edge is detected in a signal. The edge test is applied to values before and after a discrete transition in the signal. The test should return Nothing when the two values are the same. 3Creates a new event and an IO action to trigger it. eCreates a new signal and an IO action to update it. The argument is the initial value of the signal. >Spawn a thread to execute an action for each event occurrence.<Spawn an input thread to generate source signals and events.âRun the setup action to create input and output threads. The returned IO action will be executed when setup is complete. runProgram blocks until the returned event occurs, at which time it kills all the threads and returns.<Print out events as they occur. Only for debugging purposes.?Print out transitions in a signal. Only for debugging purposes.. !"#$%& '()*+,-    " !"#$%& '()*+,-.      !"#$%&'()*+,-./broccoli-0.2.0.0Control.BroccoliSetupEXsnapshot snapshot_justEmaybeEfilterEnever accumulateedgenewEnewXoutputinput runProgramdebugEdebugXPortEJustE SnapshotEProductEMappendEFmapENeverEPortXApplXFmapXPureXsetupIO getThreads getThreadsE getThreadsXdupEreadEreadXhangwaitE$fFunctorSetup$fApplicativeSetup $fMonadSetup $fMonoidE $fFunctorE$fApplicativeX $fFunctorX