h$9)      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                  Nonecsound-expression-dynamicTyped variable.csound-expression-dynamicDeduces types for a dag:deduceTypes (functorSpecificFuns) (dag) = (dagWithTypes, lastFreshIdentifier)Assumption -- dag is labeled with integers. Labels are unique and a list of labels is a range (0, n) (It's just what we get with CSE algorithm).Algorithm proceeds as follows. We init an array of type requests and a reference for fresh identifiers. Type request comes from right hand side of the statement. We need fresh identifiers for converters. If we are going to use a new statement for conversion we need new variables.(discussLine) Then we process lines in reverse order and collect type requests by looking at right hand sides and writing type requests for all arguments.(processLine) In the second run we substitute all identifiers with typed variables. It's no so strightforward due to converters. If there are converters we have to insert new statements and substitute identifiers with new ones. That's why we convert variables to variables in the processLine. None None 25678>csound-expression-dynamicMultiple output. Specify the number of outputs to get the result.:csound-expression-dynamicThe Csound rates.Zcsound-expression-dynamic Primitives[csound-expression-dynamicApplication of the opcode: we have opcode information (Info) and the arguments [a]\csound-expression-dynamicRate conversion]csound-expression-dynamicSelects a cell from the tuple, here argument is always a tuple (result of opcode that returns several outputs)^csound-expression-dynamic if-then-else_csound-expression-dynamic>Boolean expressions (rendered in infix notation in the Csound)`csound-expression-dynamicNumerical expressions (rendered in infix notation in the Csound)acsound-expression-dynamic Reading/writing a named variabledcsound-expression-dynamicArraysicsound-expression-dynamicImperative If-then-elselcsound-expression-dynamiclooping constructionsqcsound-expression-dynamic Verbatim stmtrcsound-expression-dynamicDependency trackingucsound-expression-dynamicread macros arguments|csound-expression-dynamicIt's a primitive value or something else. It's used for inlining of the constants (primitive values).csound-expression-dynamic4RatedVar is for pretty printing of the wiring ports.csound-expression-dynamicRate (can be undefined or Nothing, it means that rate should be deduced automatically from the context)csound-expression-dynamicDependency (it is used for expressions with side effects, value contains the privious statement)csound-expression-dynamicMain expressioncsound-expression-dynamic/The inner representation of csound expressions.csound-expression-dynamicAn instrument identifiercsound-expression-dynamic-Constructs an instrument id with the integer.csound-expression-dynamic1Constructs an instrument id with fractional part.csound-expression-dynamic2Constructs an instrument id with the string label.csound-expression-dynamicMakes an rated variable.csound-expression-dynamicQuerries a rate.csound-expression-dynamic Querries an integral identifier.csound-expression-dynamicConstructs PrimOr values from the expressions. It does inlining in case of primitive values.csound-expression-dynamicConstructs PrimOr values from the expressions. It does inlining in case of primitive values.   !"#$%&'()*+,-2./013456789:<>?;=@ABCDEFGHIJKLMNOPQRSTUVWX^s]ZbY[\_`acdefghijklmnopqrtuvwxyz{|}~{|}~X^s]ZbY[\_`acdefghijklmnopqrtuvwxyzLMNOPQRSTGHIJKCDEF:<>?;=@AB56789+,-2./0134%&'()*"#$    !WVUNonecsound-expression-dynamicCsound's synonym for -monad. Dep( means Side Effect. You will bump into Dep trying to read and write to delay lines, making random signals or trying to save your audio to file. Instrument is expected to return a value of  Dep [Sig]<. So it's okay to do some side effects when playing a note.%% NonedNonercsound-expression-dynamic.Converts Haskell's doubles to Csound's doublescsound-expression-dynamic.Converts Haskell's strings to Csound's stringscsound-expression-dynamic/Converts Haskell's integers to Csound's doubles++None> = Safe-Inferred xNone#.csound-expression-dynamic!The Csound note. It's a triple of !(startTime, duration, parameters)  None#   !"#$%&*)'(+10/.2,-3456789:BA@=;?<>CFDEGHKIJLMNOPQTRSUVWXzyxwvutrqponmlkjihgfedca`_\[YbZ]^s{|}~None&BNone&} None& None>&  None'   !"#$%&*)'(+10/.2,-3456789:BA@=;?<>CFDEGHKIJLMNOPQTRSUVWXzyxwvutrqponmlkjihgfedca`_\[YbZ]^s{|}~ !"#$%&'()**+,+--./01234456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~                  \           \ ^           6csound-expression-dynamic-0.3.9-7kupGSWNstG8e1GmmB1MDfCsound.Dynamic.Render.PrettyCsound.Dynamic.Types.ExpCsound.Dynamic.Types.DepCsound.Dynamic.BuildCsound.Dynamic.Build.NumericCsound.Dynamic.Types.FlagsCsound.Dynamic.Types.CsdFileCsound.Dynamic.Render.InstrCsound.Dynamic.RenderCsound.Dynamic.Build.LogicCsound.Dynamic.Tfm.DeduceTypes"Csound.Dynamic.Tfm.UnfoldMultiOutsCsound.Dynamic.Tfm.LivenessCsound.Dynamic.TypesCsound.Dynamic&wl-pprint-1.2.1-GJs9LCMCYunBLchu7MjfaqText.PrettyPrint.LeijenDocMultiOutNumOpAddSubNegMulDivPowModNumExpCondOpTrueOpFalseOpAndOrEquals NotEqualsLessGreater LessEquals GreaterEqualsCondInfoBoolExp PreInline InlineExp InlinePrimInline inlineExp inlineEnvNoteGenIdIntGenId StringGenIdGengenSizegenIdgenArgsgenFilePrimPPStringPrimInt PrimDouble PrimString PrimInstrIdPrimVarprimVarTargetRateprimVar Signature SingleRate MultiRate outMultiRate inMultiRateRateXrArKrIrSrFrWrTvar OpcFixityPrefixInfixOpcodeInfoinfoName infoSignature infoOpcFixityVarTypeLocalVar GlobalVarVar VarVerbatimvarTypevarRatevarNameArrIndexArrSize IsArrInitMainExpEmptyExpExpPrimTfm ConvertRateSelectIfExpBoolExpNumInitVarReadVarWriteVarInitArrReadArrWriteArr WriteInitArrTfmArrIfBegin ElseBeginIfEnd UntilBeginUntilEnd WhileBegin WhileRefBeginWhileEndVerbatimStartsSeqEnds InitMacrosIntInitMacrosDoubleInitMacrosString ReadMacrosIntReadMacrosDoubleReadMacrosStringExpPrimOrunPrimOrRatedVarRatedExp ratedExpRateratedExpDepends ratedExpExpEInstrId InstrLabel instrIdFrac instrIdCeilName intInstrId ratioInstrId stringInstrIdratedVar ratedVarRate ratedVarIdratedExpnoRatewithRatesetRatetoPrimOr toPrimOrTfmisPrefixisInfixisTrueisFalse$fHashableInstrId$fHashableVarType$fHashableOpcFixity$fHashableRate $fHashableVar$fHashableSignature$fHashableInfo$fHashablePrim$fHashable1PrimOr$fHashablePrimOr$fTraversablePrimOr$fFoldablePrimOr$fHashableGenId $fHashableGen$fHashableInlineExp$fHashable1Inline$fHashableInline$fHashable1PreInline$fHashablePreInline$fHashableCondOp$fHashableNumOp$fHashable1MainExp$fHashableMainExp$fHashable1RatedExp$fHashableRatedExp$fShowRatedExp $fEqRatedExp $fOrdRatedExp$fFunctorRatedExp$fFoldableRatedExp$fTraversableRatedExp$fGenericRatedExp$fGeneric1TYPERatedExp $fShowMainExp $fEqMainExp $fOrdMainExp$fFunctorMainExp$fFoldableMainExp$fTraversableMainExp$fGenericMainExp$fGeneric1TYPEMainExp $fShowNumOp $fEqNumOp $fOrdNumOp$fGenericNumOp $fShowCondOp $fEqCondOp $fOrdCondOp$fGenericCondOp$fShowPreInline $fEqPreInline$fOrdPreInline$fFunctorPreInline$fFoldablePreInline$fTraversablePreInline$fGenericPreInline$fGeneric1TYPEPreInline $fShowInline $fEqInline $fOrdInline$fFunctorInline$fFoldableInline$fTraversableInline$fGeneric1TYPEInline$fShowInlineExp $fEqInlineExp$fOrdInlineExp$fGenericInlineExp $fShowGen$fEqGen$fOrdGen $fGenericGen $fShowGenId $fEqGenId $fOrdGenId$fGenericGenId $fShowPrimOr $fEqPrimOr $fOrdPrimOr$fFunctorPrimOr$fGenericPrimOr$fGeneric1TYPEPrimOr $fShowPrim$fEqPrim $fOrdPrim $fGenericPrim $fShowInfo$fEqInfo $fOrdInfo $fGenericInfo$fShowSignature $fEqSignature$fOrdSignature $fShowVar$fEqVar$fOrdVar $fGenericVar $fShowRate$fEqRate $fOrdRate $fEnumRate $fBoundedRate $fGenericRate$fShowOpcFixity $fEqOpcFixity$fOrdOpcFixity$fGenericOpcFixity $fShowVarType $fEqVarType $fOrdVarType$fGenericVarType $fShowInstrId $fEqInstrId $fOrdInstrId$fGenericInstrId$fGeneric1TYPEIntMap $fEq1PrimOr$fEq1PreInline $fEq1Inline $fEq1MainExp $fEq1RatedExp $fOrd1PrimOr$fOrd1PreInline $fOrd1Inline $fOrd1MainExp$fOrd1RatedExp $fShow1PrimOr$fShow1PreInline $fShow1Inline$fShow1MainExp isEmptyExp$fShow1RatedExp LocalHistory expDependency newLineNum newLocalVarIdDepTunDepTrunDepTevalDepTexecDepTdepTdepT_mdepT stripDepT stmtOnlyT newLocalVars newLocalVarwriteVarreadVar readOnlyVarinitVar appendVarBynewLocalArrVar newTmpArrVarreadArr readOnlyArrwriteArr writeInitArrinitArr appendArrByreadMacrosDouble readMacrosIntreadMacrosStringinitMacrosDoubleinitMacrosString initMacrosInt$fDefaultLocalHistory$fMonadTransDepT $fMonadDepT$fApplicativeDepT $fFunctorDepTSpecsSpec1prim opcPrefix oprPrefixoprInfixtfmtfmNoInlineArgs inlineVarpn withInitsdoublestrintverbatiminstrIdEspec1opcsopcsNoInlineArgsopr1oprByopr1kinfOprnumExp1opcsArr infOprArrspecsmopcsmogetRatesisMultiOutSignature getPrimUnsafetoExponExpsetSrsetKr setNchnls setNchnls_isetKsmps setZeroDbfsgInit gInitDoubleceilEfloorEroundEfracEintE $fIntegralFix $fRealFix $fEnumFix $fFloatingFix$fFractionalFix$fNumFix $fMonoidFix$fSemigroupFixConfighwBufioBufnewKrnewSrscoreInomacrosmacrosetSchedschedNumstrsetN skipSecondssetTempo DisplayMode NoDisplayPostScriptDisplay AsciiDisplayDisplays csdLineNums displayModedisplayHeartbeat messageLevelmAmpsmRange mWarningsmDbmColours mBenchmarksmsgColordisplayVerbose listOpcodesRtmidiPortMidiAlsaMidiAlsaSeqCoreMidiMmeMidi WinmmeMidi VirtualMidiNoRtmidiMidiRT midiDevicemidiKey midiKeyCps midiKeyOct midiKeyPch midiVelocitymidiVelocityAmp midiOutDeviceMidiIOmidiFile midiOutFile muteTracksrawControllerModeterminateOnMidi PulseAudiopaServerpaOutputpaInputRtaudio PortAudioAlsaJackMme CoreAudio NoRtaudio jackClient jackInport jackOutportIdTagsidArtist idComment idCopyrightidDate idSoftwareidTitle FormatTypeAiffAuAvrCafFlacHtkIrcamMat4Mat5NisPafPvfRawSd2SdsSvxVocW64WavWavexXiDither TriangularUniform FormatSamplesBit24AlawUcharSchar FloatSamplesUlawShortLong FormatHeaderNoHeader RewriteHeaderAudioFileOutput formatSamples formatTypeoutputinputnosoundnopeaksditherFlagsaudioFileOutputidTagsrtaudio pulseAudiomidiIOmidiRTrtmididisplaysconfig flagsVerbatim$fPrettyDither$fPrettyAudioFileOutput$fMonoidAudioFileOutput$fSemigroupAudioFileOutput$fDefaultAudioFileOutput$fPrettyIdTags$fMonoidIdTags$fSemigroupIdTags$fDefaultIdTags$fPrettyRtaudio$fPrettyPulseAudio$fPrettyMidiIO$fMonoidMidiIO$fSemigroupMidiIO$fDefaultMidiIO$fPrettyMidiRT$fMonoidMidiRT$fSemigroupMidiRT$fDefaultMidiRT$fPrettyRtmidi$fPrettyDisplayMode$fPrettyDisplays$fMonoidDisplays$fSemigroupDisplays$fDefaultDisplays$fPrettyConfig$fMonoidConfig$fSemigroupConfig$fDefaultConfig $fPrettyFlags $fMonoidFlags$fSemigroupFlags$fDefaultFlags $fEqFlags $fShowFlags $fReadFlags $fEqConfig $fShowConfig $fReadConfig $fEqDisplays$fShowDisplays$fReadDisplays$fEqDisplayMode$fShowDisplayMode$fReadDisplayMode $fEqRtmidi $fShowRtmidi $fReadRtmidi $fEqMidiRT $fShowMidiRT $fReadMidiRT $fEqMidiIO $fShowMidiIO $fReadMidiIO$fEqPulseAudio$fShowPulseAudio$fReadPulseAudio $fEqRtaudio $fShowRtaudio $fReadRtaudio $fEqIdTags $fShowIdTags $fReadIdTags$fEqAudioFileOutput$fShowAudioFileOutput$fReadAudioFileOutput$fEqFormatType$fShowFormatType$fReadFormatType $fEqDither $fShowDither $fReadDither$fEqFormatSamples$fShowFormatSamples$fReadFormatSamples$fEqFormatHeader$fShowFormatHeader$fReadFormatHeaderCsdEventPlugin pluginName pluginContentSco scoTotalDurscoGensscoNotesInstr instrName instrBody InstrBodyOrcorcHeadorcInstrumentsCsdcsdFlagscsdOrccsdSco csdPluginsintInstralwaysOn csdEventStart csdEventDurcsdEventContentcsdEventTotalDurvcatSep ppCsdFileppNotesppGenppInstrppStmt ppTotalDur renderInstrrenderInstrBody renderCsdwhen1whensifBegin elseBeginifEnduntilDo untilBeginuntilEndwhileDo whileBeginwhileRefwhileEnd $fOrdBFix$fEqBFix$fIfBFix $fBooleanFix deduceTypes TypeGraph mkConvert defineTypeConvert convertFrom convertToStmtvarIdUnfoldMultiOuts getSelectorgetParentTypesSelectorselectorParent selectorOrderunfoldMultiOutsghc-prim GHC.TypesIOliveness