M:      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe!"=   Safe  !"#$%&'  !"#$%&'&  !"#$%'   !"#$%&'Safe!":=HM()*+,-./()*+,-./*+(),-./()*+,-./Safe!":=M0!A untyped type (no phantom type).*0123456789:;<=>?@ABCDEFGHIJKLM0123456789:;<=>?@ABCDEFGHIJKLMBMLKJIHGFEDC3450126A@?>=<;:9870123456 A@?>=<;:987B MLKJIHGFEDCSafe!"NNNNSafe!":MOPQRSTUVOPQRSTUVRSTVOQPUOQPRSTUVSafe!"HMWTernary operators.YBinary operators..WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.o~}|{zyxwvutsrqpYnmlkjihgfedcba`_^]\[ZWXWXYnmlkjihgfedcba`_^]\[Zo~}|{zyxwvutsrqpSafe!":M'A untyped expression (no phantom type).0A unique tag for external arrays/function calls.An index for the drop operator.CA name of a trigger, an external variable, or an external function.A stream identifier. Safe!":MA Copilot specification consists of a list of variables bound to anonymous streams, a lost of anomymous streams, a list of observers, and a list of triggers. A property. A trigger. An observer. A stream.  Trustworthy:HM  Safe             Safe Safe!":MrunGen takes a Gen aQ, a max depth of the expression, the weights, and the standard random generator.(Takes a list of pairs (weight, Gen), and choose the Gen based on the weights. To get the frequency of choosing a Gen, sum up all the weights, and choose c between 1 and the total. Now recurse down the list, choosing an item only when c <= weight. If not, subtract the current weight from c. Safe!":MSafe!":M Trustworthy !0123456789:;<=>?@ABCDEFGHIJKLMNWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Trustworthy!"+"0Safe indexing (!!) on possibly infininite lists.#$%&'()*+,-./012345"67#$)('&%*+,-./012345"67 Trustworthy8989 Trustworthy#Interprets a Copilot specification. Trustworthy:M :;<=>:;<=>Safe!":M?@ABCDEFGHIJKLMNOPQRSTUVWXYZ?@ABCDEFGHIJKLMNOPQRSTUVWXYZSafe!"&Pretty-prints a Copilot specification. [\]^_`abcdef [\]^_`abcdefSafe!"HMghijklmnopqrsghijklmnopqrst !!"#$%&'()*+,-./0123456789:;<=>??@@ABCDEEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeffghijklmnopqrstuvwxyz{|}~jl                                    `_^]\[ZY !"#$%&'()*+,-./0123456789:;<=>>??@ABBCCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnocopilot-core-2.1.2Copilot.Core.Type.EqualityCopilot.Core.Random.WeightsCopilot.Core.Type.DynamicCopilot.Core.TypeCopilot.Core.Type.UninitializedCopilot.Core.Type.ShowCopilot.Core.OperatorsCopilot.Core.ExprCopilot.Core.SpecCopilot.Core.ExternalCopilot.Core.MakeTagsCopilot.Core.ErrorCopilot.Core.Random.GenCopilot.Core.Type.EqCopilot.Core.Type.ReadCopilot.Core.Interpret.EvalCopilot.Core.Interpret.RenderCopilot.Core.InterpretCopilot.Core.LocalsCopilot.Core.RandomCopilot.Core.PrettyPrintCopilot.Compile.Header.C99 Copilot.Core EqualType=~=EqualReflcoercereflsymmtranscongWeights maxExprDepth maxBuffSize maxTriggers maxTrigArgs maxExtVars maxObservers numStreams constFreq extVarFreq drop0FreqdropFreq externFreqop1Freqop2Freqop3FreqboolFreqint8Freq int16Freq int32Freq int64Freq word8Freq word16Freq word32Freq word64Freq floatFreq doubleFreq divModFreqDepth simpleWeightsDynamicFDynamictoDynfromDyntoDynFfromDynFUType uTypeTypeTypedtypeOf simpleType SimpleTypeSDoubleSFloatSWord64SWord32SWord16SWord8SInt64SInt32SInt16SInt8SBoolTypeDoubleFloatWord64Word32Word16Word8Int64Int32Int16Int8Bool uninitializedShowTypeHaskellCShowWitshowWitshowType showWithTypeOp3MuxOp2BwShiftRBwShiftLBwXorBwOrBwAndGtLtGeLeNeEqLogbPowFdivDivModMulSubAddOrAndOp1CastBwNotAcoshAtanhAsinhCoshTanhSinhAcosAtanAsinCosTanSinLogSqrtExpRecipSignAbsNotUExpr uExprType uExprExprExpr ExternArray ExternFun ExternVarVarLocalDropConstTagDropIdxNameIdSpec specStreams specObservers specTriggersspecPropertiesProperty propertyName propertyExprTrigger triggerName triggerGuard triggerArgsObserver observerName observerExprobserverExprTypeStreamstreamId streamBuffer streamExprstreamExprTypeExtFun externFunName externFunType externFunArgs externFunTagExtArrayexternArrayNameexternArrayElemTypeexternArrayIdxexternArrayIdxTypeexternArraySizeexternArrayTagExtVar externVarName externVarType externVars externArrays externFunsmakeTags impossiblebadUsageGenrunGendepthweightsincDepthrandomFromTyperandomReplicatechooseoneOffreqelementsUValuTypeuValEqWiteqWitReadWitreadWit readWithType ExecTraceinterpTriggersinterpObserversOutputEnveval renderAsTable renderAsCSVFormatCSVTable interpretLoc localName localTypelocals randomSpec prettyPrint genC99Header c99HeaderName $fTypedDouble $fTypedFloat $fTypedWord64 $fTypedWord32 $fTypedWord16 $fTypedWord8 $fTypedInt64 $fTypedInt32 $fTypedInt16 $fTypedInt8 $fTypedBool$fEqualTypeTypeexternVarsExprexternVarsUExprexternArraysExprexternArraysUExprexternFunsExprallnext mkTagsSpec mkTagsStrms mkTagsObsvs mkTagsTrigs mkTagsProps mkTagsUExpr mkTagsExprMkGenstdGen $fMonadGen $fFunctorGen$fEqUValghc-prim GHC.TypesIntbaseGHC.IntWordGHC.Word byteSwap64 byteSwap32 byteSwap16 safeIndexLocalEnvInterpException NoExtsInterpNotEnoughValues DivideByZeroArrayIdxOutofBoundsArrayWrongSize evalExpr_ evalExternVar evalArrayevalOp1evalOp2 catchZeroevalOp3initStrm evalStreams evalTrigger evalObserver evalExprs_$fExceptionInterpException$fShowInterpExceptionunfoldstep locsStream locsTrigger locsObserverlocsExpr $fShowLoc IntegralWitNumWit StreamEnv DynExtVarWrapType StreamInfo streamInfoIdstreamInfoTypestreamInfoBufferSizegenSpecgenTypegenTypeFromStreamInfo'sgenStreamInfo's genStream genTriggergenExpr genOp1Bool genOp1Num genOp2BoolgenOp2Eq genOp2Ord genOp2NumgenOp2Integral genOp3MuxstrmNameppExprppUExprppOp1ppOp2ppOp3ppInfixppPrefixppStream ppTrigger ppObserverppSpec c99Header ppHeaders ppObserversppTriggerPrototypesppExternalVariablesppExternalVariableppExternalArraysppExternalArrayppExternalFunctionsppExternalFunctiontypeSpecppStepunlines