úÎÒ/ËYT      !"# $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 89:;<=>?@ABCDEFGHIJKLMNOPQRS Ertugrul Soeylemez <es@ertes.de> Ertugrul Soeylemez <es@ertes.de>@Distribute an input value over a list of arrow computations and  collect the results. .Lift an arrow computation to lists of values.  Ertugrul Soeylemez <es@ertes.de> 2Arrows with support for random number generation. Return a random number. +Return a random number in the input range. .Arrows which support running IO computations. 4Run the input IO computation and output its result. Arrows with a clock. Type for time values. 8Current time in some arrow-specific frame of reference. TInstance for the U -builtin V. WCInstance for the system time. Use this only for testing. This is E intentionally specific to allow you to define better instances with  custom arrows.      Ertugrul Soeylemez <es@ertes.de> Signal networks. XMaps over the left side of an Y value. CCreate a wire from the given stateless transformation computation. 9Create a wire from the given transformation computation. ;Create a pure wire from the given transformation function. ;Create a pure wire from the given transformation function. 7Convert the given wire to a generic arrow computation. ZSequencing of wires. [!The always inhibiting wire. The  zeroArrow is equivalent to  Control.Wire.Prefab.Event.never. \BIf the underlying arrow is a writer arrow, then the wire arrow is  also a writer arrow. ]$Wire arrows are arrow transformers. ^AIf the underlying arrow is a state arrow, then the wire arrow is  also a state arrow. _BIf the underlying arrow is a reader arrow, then the wire arrow is  also a reader arrow. `%Combining possibly inhibiting wires. aCValue recursion in the wire arrows. **NOTE**: Wires with feedback G must *never* inhibit. There is an inherent, fundamental problem with A handling the inhibition case, which you will observe as a fatal  pattern match error. bWhen the target arrow is an  (e.g. a Kleisli arrow over % IO), then the wire arrow is also an ArrowIO. c-Inhibition handling interface. See also the  Control.Wire.Trans.Exhibit and Control.Wire.Prefab.Event modules. d Support for one-instant delays. e)Support for choice (signal redirection). fWire side channels.      Ertugrul Soeylemez <es@ertes.de>'Performs an instant of the given wire. Wire to step. =Test a wire. This function runs the given wire continuously ' printing its output on a single line. Frames per output. FPS/accuracy tradeoff. Input generator.  Ertugrul Soeylemez <es@ertes.de>>Queues incoming signals and acts as a dam outputting incoming F signals in a FIFO fashion (one-way pipe). Note: Incorrect usage can  lead to congestion.  Depends: current instant. $ Inhibits: when the queue is empty. >Queues incoming signals and acts as a dam outputting incoming G signals in a LIFO fashion (stack). Note: Incorrect usage can lead to  congestion.  Depends: current instant. $ Inhibits: when the queue is empty.  Ertugrul Soeylemez <es@ertes.de>:The constant wire. Outputs the given value all the time. CForce the input signal to weak head normal form, before outputting  it. Applies g to the input signal.  Depends: Current instant. =Force the input signal to normal form, before outputting it.  Applies h to the input signal.  Depends: Current instant. 8The identity wire. Outputs its input signal unchanged.  Depends: Current instant. Inject the given Y value as a signal. i means  inhibition.  Depends: Current instant.  Inhibits: When input is i. Inject the given j value as a signal. k means  inhibition.  Depends: Current instant.  Inhibits: When input is k.  Ertugrul Soeylemez <es@ertes.de>>General accumulator. Outputs the argument value at the first D instant, then applies the input function repeatedly for subsequent  instants. This acts like the l function for lists.  Depends: current instant. @Apply the given function at the first instant. Then act as the  identity wire forever.  Depends: Current instant. -Count upwards from the given starting value. ACount from the given starting value, repeatedly adding the input  signal to it.  Depends: current instant.  Ertugrul Soeylemez <es@ertes.de> DTakes the input list and forks the wire for each value. Also forks G a single inhibiting wire. Warning: Incorrect usage will cause space  leaks! Use with care!  Depends: Current instant 6 Inhibits: Always in one thread, never in all others. $ Threads: Length of input list + 1. !,Terminates the current wire with no output.  Threads: None. "ATerminates the current wire thread with the given input value as  the last output.  Depends: Current instant.  Threads: 1, then none.  !" !" !"  Ertugrul Soeylemez <es@ertes.de># Produces m1, whenever the argument wire produces, otherwise  k.  Depends: like argument wire. $ Produces n1, whenever the argument wire produces, otherwise  i with the inhibition value.  Depends: like argument wire. #$#$#$  Ertugrul Soeylemez <es@ertes.de>%?Apply the given function to the input, until the argument wire  starts producing.  Depends: Like argument wire. ! * Inhibits: Like argument wire. &?Apply the given function to the input, until the argument wire  starts producing.  Depends: Like argument wire. ! * Inhibits: Like argument wire. %&%&%&  Ertugrul Soeylemez <es@ertes.de>'Integrate over time.  Depends: Current instant. (9Calculates the derivative of the input signal over time.  Depends: Current instant. '('('(  Ertugrul Soeylemez <es@ertes.de>)-Time deltas starting from the first instant. *-Time deltas starting from the given instant. +9Current time with the given origin at the first instant. ,$Current time with the given offset. -1Current time with origin 0 at the first instant. )*+,-)*-+,)*+,-  Ertugrul Soeylemez <es@ertes.de> .BCalculate the average of the signal over the given number of last B samples. If you need an average over all samples ever produced,  consider using / instead. : Complexity: O(n) space, O(1) time wrt number of samples.  Depends: current instant. /6Calculate the average of the signal over all samples. BPlease note that somewhat surprisingly this wire runs in constant $ space and is generally faster than ., but most applications will 7 benefit from averages over only the last few samples.  Depends: current instant. 0BCalculate the average number of frames per virtual second for the  last given number of frames. 3Please note that this wire uses the clock from the  8 instance for the underlying arrow. If this clock doesn' t represent , real time, then the output of this wire won' t either. 1,Collects all distinct inputs ever received. D Complexity: O(n) space, O(log n) time wrt collected inputs so far.  Depends: current instant. 2BOutputs the last input value on every change of the input signal. 3 Acts like the identity wire at the first instant.  Depends: current instant. 1 Inhibits: on no change after the first instant. 31Reports the first time the given input was seen. D Complexity: O(n) space, O(log n) time wrt collected inputs so far.  Depends: Current instant. 4+Outputs the high peak of the input signal.  Depends: Current instant. 5?Reports the last time the given input was seen. Inhibits when % seeing a signal for the first time. D Complexity: O(n) space, O(log n) time wrt collected inputs so far.  Depends: Current instant. ' Inhibits: On first sight of a signal. 6*Outputs the low peak of the input signal.  Depends: Current instant. 7DOutputs the high peak of the input signal with respect to the given  comparison function.  Depends: Current instant. ./01234567 ./04671235 ./01234567 Ertugrul Soeylemez <es@ertes.de>85Produces once after the input time delta has passed.  Depends: Current instant. 0 Inhibits: Always except at the target instant. 9DProduces once as soon as the current time is later than or equal to # the current time and never again.  Depends: Current instant. 0 Inhibits: Always except at the target instant. :ADelays each incoming event (left signal) by the given time delta F (right signal). The time delta at the instant the event happened is  significant.  Depends: Current instant. + Inhibits: When no delayed event happened. ;ADelays each incoming event (left signal) by the given time delta G (middle signal). The time delta at the instant the event happened is A significant. The right signal gives a maximum number of events G queued. When exceeded, new events are dropped, until there is enough  room.  Depends: Current instant. + Inhibits: When no delayed event happened. <(Inhibits as long as the input signal is o. Once it switches  to p, it produces forever.  Depends: Current instant. & Inhibits: As long as input signal is o, then never again. =6Produces once whenever the input signal switches from o to  p.  Depends: Current instant. : Inhibits: Always except at the above mentioned instants. >/Produces, whenever the current input signal is o.  Depends: Current instant.  Inhibits: When input is p. ?@Never produces. Always inhibits with the current input signal.  Depends: Current instant.  Inhibits: Always. @Never produces. Equivalent to q.  Inhibits: Always. A5Inhibit at the first instant. Then produce forever. ! Inhibits: At the first instant. B6Acts like the identity function once and never again. $ Inhibits: After the first instant. CBPeriodically produces an event. The period is given by the input C time delta and can change over time. The current time delta with E respect to the last production is significant. Does not produce at ; the first instant, unless the first delta is nonpositive.  Depends: Current instant. 0 Inhibits: Always except at the periodic ticks. D/Produces, whenever the current input signal is p.  Depends: Current instant.  Inhibits: When input is o. E'Produce as long as the input signal is p. Once it switches to  o', never produce again. Corresponds to r for lists.  Depends: Current instant. $ Inhibits: As soon as input becomes o. 89:;<=>?@ABCDE89:;C?@<=D>EAB89:;<=>?@ABCDE Ertugrul Soeylemez <es@ertes.de>FGenerate random noise. G!Generate random noise in range 0 <= x < 1. H"Generate random noise in range -1 <= x < 1. IDGenerate random noise in a certain range given by the input signal.  Depends: Current instant. J9Generate a random boolean, where the input signal is the  probability to be p.  Depends: Current instant. FGHIJFIGHJFGHIJ Ertugrul Soeylemez <es@ertes.de>K@Sample the right signal at discrete intervals given by the left  input signal. A Depends: Current instant (left), last sampling instant (right). L.Keep the signal in the first instant forever.  Depends: First instant. KLKLKL Ertugrul Soeylemez <es@ertes.de>5 !"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL Ertugrul Soeylemez <es@ertes.de>M>Make the given wire context-sensitive. The right signal is a A context and the wire will evolve individually for each context. = Depends: Like context wire (left), current instant (right).  * Inhibits: Like context wire. NSame as M+, but with a time limit. The third signal A specifies a maximum age. Contexts not used for longer than the  maximum age are forgotten. = Depends: Like context wire (left), current instant (right).  * Inhibits: Like context wire. OCDistribute the input signal over the given wires, evolving each of 0 them individually. Collects produced outputs. <Note: This wire transformer discards all inhibited signals. . Depends: as strict as the strictest subwire. MNOMNOMNO Ertugrul Soeylemez <es@ertes.de>P!Keeps the latest produced value.  Depends: Like argument wire. % * Inhibits: Until first production. QDKeeps the latest produced value. Produces the argument value until % the argument wire starts producing.  Depends: Like argument wire. RCSamples the given wire at discrete intervals. Only runs the input @ through the wire, then the next sampling interval has elapsed. A Depends: Current instant (left), like argument wire at sampling  intervals (right). C * Inhibits: Starts inhibiting when argument wire inhibits. Keeps , inhibiting until next sampling interval. S@Waits for the argument wire to produce and then keeps the first  produced value forever. A Depends: Like argument wire until first production. Then stops  depending. 7 * Inhibits: Until the argument wire starts producing. PQRSPQRSPQRS Ertugrul Soeylemez <es@ertes.de> #$%&MNOPQRS Ertugrul Soeylemez <es@ertes.de>gstuvwxyz{|}~€‚ƒ„…  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS† !"#$%&'()*+,-./0123456789 : ; < = > ? @ A B C D E F G H I J K L M NOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒl„…†‡ˆtu‰tŠ‹tŠŒtŽtŠtulm‘lm’t“”t•–—˜–—™–—š–—›–—œ–—–—ž–—Ÿ–— –—¡–—¢–—£–—¤–—¥–—¦–—§–—¨–©ª–©«¬ netwire-2.0.1Control.Wire.ToolsControl.Wire.ClassesControl.Wire.TypesControl.Wire.SessionControl.Wire.Prefab.QueueControl.Wire.Prefab.SimpleControl.Wire.Prefab.AccumControl.Wire.Prefab.SplitControl.Wire.Trans.ExhibitControl.Wire.Trans.SimpleControl.Wire.Prefab.CalculusControl.Wire.Prefab.ClockControl.Wire.Prefab.AnalyzeControl.Wire.Prefab.EventControl.Wire.Prefab.RandomControl.Wire.Prefab.SampleControl.Wire.Trans.CombineControl.Wire.Trans.SampleControl.Wire.InstancesControl.Wire.PrefabControl.Wire.Trans Control.WiredistAmapA ArrowRandomarrRandarrRandRArrowIOarrIO ArrowClockTimearrTimeWireWPureWGenmkFixmkGenmkPure mkPureFixtoGenstepWiretestWirefifolifoconstantforceforceNFidentityinject injectEventaccumatFirst countFrom countStepforkquitquitWitheventexhibit--<>--integral derivativedtime dtimeFromtimeFrom timeOffsettimeavgavgAllavgFpscollectdiff firstSeenhighPeaklastSeenlowPeakpeakByafterat delayEventsdelayEventsSafeasSoonAsedgeforbidinhibitnevernotYetonce periodicallyrequirewhilenoisenoiseFnoiseF1noiseR wackelkontaktdiscretekeepcontext contextLimit distributeholdholdWithsampleswallow$fArrowRandomKleislighc-prim GHC.TypesIOrandom-1.0.1.0 System.RandomStdGen$fArrowClockKleislimapLeftbase Data.EitherEither$fCategoryWire$fArrowZeroWire$fArrowWriterwWire$fArrowTransformerWire>~$fArrowStatesWire$fArrowReaderrWire$fArrowPlusWire$fArrowLoopWire $fArrowIOWire$fArrowErroreWire$fArrowCircuitWire$fArrowChoiceWire $fArrowWireGHC.Primseqdeepseq-1.2.0.1Control.DeepSeqdeepseqLeft Data.MaybeMaybeNothingGHC.ListiterateJustRightFalseTrue Control.Arrow zeroArrow takeWhilearrows-0.4.4.0Control.Arrow.OperationstryInUnlessDefault newReader readState ArrowReaderstorefetch ArrowState newWriterwrite ArrowWriternewError tryInUnlesshandleraise ArrowErrordelay ArrowCircuitControl.Arrow.TransformerliftArrowTransformer