lG      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~         !!!!!"""""""""""""""""#SafeL      Safe     #SafeV      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFSafe -9;<=AOQRTf !"#$%&'()*+,l      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF !"#$% !"#,+*)('&$% !"#$%&'()*+,Safe*+-69:;<=?ADNOQRT[cf@We use a variant of HOAS so it can be compile to DBI, which is more compositional (No Negative Occurence). It require explicit lifting of variables. Use lam to do automatic lifting of variables.6-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF-./0123546789:;?DEC>G=<@ABFHIJKLMNOPQRSTUVWXYZ[\]^_6IJK;<=>?@ABCDEFGHLMNOPQRSTUV9:67834512WX/0-.ba`YZ[\]^_-./0123456789:; <=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abSafe cdefghijk      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF-./0123546789:;?DEC>G=<@ABFHIJKLMNOPQRSTUVWXYZ[\]^_cdefghijk cdefghijkcdefghijkSafe69:;<=lmnopqrstuvwxyz{|}lmnoqprstuvwxyzopqpqlmnmnrstuvwxyz}|{lmnmnopqpqrstuvwxyz{|}Safe*,9:;<=DORTf~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF !"#$%lmnoqprstuvwxyz~~~Safe       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF-./0123546789:;?DEC>G=<@ABFHIJKLMNOPQRSTUVWXYZ[\]^_  Safe      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF-./0123546789:;?DEC>G=<@ABFHIJKLMNOPQRSTUVWXYZ[\]^_ Safe       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF-./0123546789:;?DEC>G=<@ABFHIJKLMNOPQRSTUVWXYZ[\]^_  Safe       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF-./0123546789:;?DEC>G=<@ABFHIJKLMNOPQRSTUVWXYZ[\]^_  Safe9;Tf      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF-./0123546789:;?DEC>G=<@ABFHIJKLMNOPQRSTUVWXYZ[\]^_  Safe      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF-./0123546789:;?DEC>G=<@ABFHIJKLMNOPQRSTUVWXYZ[\]^_Safe      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF-./0123546789:;?DEC>G=<@ABFHIJKLMNOPQRSTUVWXYZ[\]^_Safe      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF-./0123546789:;?DEC>G=<@ABFHIJKLMNOPQRSTUVWXYZ[\]^_Safe      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF-./0123546789:;?DEC>G=<@ABFHIJKLMNOPQRSTUVWXYZ[\]^_Safe9;<=L           !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF !"#$%-./0123546789:;?DEC>G=<@ABFHIJKLMNOPQRSTUVWXYZ[\]^_cdefghijklmnoqprstuvwxyz~L     7     SafeOQRT      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF !"#$%-./0123546789:;?DEC>G=<@ABFHIJKLMNOPQRSTUVWXYZ[\]^_cdefghijklmnoqprstuvwxyz~SafeDRTf  ! !   !Safe -:DRTf "#$%&'()*+,-. .-,+*)('&%$#" "#$%&'()*+,-.Safe:DR[/0123456789:;<//<;:9876543210/0123456789:;<Safe -DORTf =>?@ABCDEFGHI      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF !"#$%lmnoqprstuvwxyz~ =>?@ABCDEFGHISafe -ADORTfJKLMNOPQRSTUVWJJWVUTSRQPONMLKJKLMNOPQRSTUVWSafe: XYZ[\]^_`abcd dcba`_^]\[ZYX XYZ[\]^_`abcdSafe efghijklmnopq qponmlkjihgfe efghijklmnopqSafe:DRTfrstuvwxyz{|}~r~}|{zyxwvutsrrstuvwxyz{|}~SafeDR SafeDRSafeDRSafeDRTf   Safe Safe9;<=  !Safe+9:;<=DNORT[a"SafeOTfG$%&'()*+,-../012345466789:;;<==>>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   . / 2 0 1          !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~         !!!!!"""""""""""""""""      !"#"$"%&'()*+,-+./0+1232456575758589:;<=;<>;<?;<@;<A;<B;<C;<D;<E;<F;<G;<H;IJ;IK;IL;IM;IN;IO;IP;IQ;IR;IS;IT;IU;IV;IW;IX;IY;IY;IZ;I[;I\;I];I^;I_;I`abcadef2DeepDarkFantasy-0.2017.4.19-Bc2bVH6Zq18GYgiR8SpehlDDF.Util DDF.Meta.DualDDF.Meta.InterpreterDDF.DBI DDF.Double DDF.Vector DDF.Meta.Diff DDF.Float DDF.OptionDDF.ProdDDF.DualDDF.MapDDF.UnitDDF.CharDDF.Bool DDF.BimapDDF.Lang DDF.DLang DDF.CombineDDF.DiffDDF.Eval DDF.GDiffDDF.ImpW DDF.InfDiff DDF.GInfDiff DDF.RTInfDiffDDF.ShowDDF.SizeDDF.UInt DDF.UnHOAS DDF.UnLiftEnv DDF.WithDiffDDF.PolyDDF.XorDDF.ImportMeta RandRange randRangevarsisSquare$fRandRange(,)$fRandRangeFloat$fRandRangeDouble $fRandRange() $fRandom(,) $fRandom()DualrunDualdualOrigdualDiffmkDualRunImpWRImpWNoImpWRunImpWWeight weightConProdConprodConUnHOAS runUnHOASCombineEvalrunEval combineLeft combineRightrunImpW2RunImpWRrunImpWR2RunImpW $fWeight(,) $fWeightFloat$fWeightDouble $fWeight()$fProdConShowlr$fProdConRandRangelr$fProdConRandomlrNTSconvSNTconv BiFunctorbimapMonadbindjoin ApplicativepureapFunctormapDBIzsabsapphoasliftEnvcomflipidconstscombduplet_Monoidzeroplusconst1map2returnbind2map1join1bimap2bimap3flip1flip2let_2app3com2lamlam2lam3app2plus2noEnvscomb2 $fNTkkreprxx $fNTkkreprlr$fNTSTYPETYPEreprl(,)Doubledouble doubleZero doubleOne doublePlus doubleMinus doubleMult doubleDivide doubleExpVectormultdivideGroupinvertminusminus2mult1mult2divide2invert1minus1divide1reciprecip1$fVectorrDouble$fGrouprDouble$fMonoidTYPErDoubleDiffrunDiffGInfDiff runGInfDiffInfDiff runInfDiff RTInfDiff runRTInfDiffGDiffrunGDiffDiffTypeFloatfloat floatZerofloatOne floatPlus floatMinus floatMult floatDividefloatExpOptionnothingjust optionMatchProdmkProdzrofstswapcurryuncurryzro1fst1mkProd1mkProd2curry1dualdual1mkDual2 dualOrig1 dualDiff1Mapempty singletonlookupaltermapMapOrddiffOrd $fOrdFloat $fOrdDouble $fOrdDual $fOrdDual0$fEqDual$fOrd[]$fOrd()UnitunitCharcharBoolbooliteBimapReifyreifyLangfixleftrightsumMatchexfalsoioRetioBindioMapnilcons listMatch listAppendwriter runWriter float2Double double2Float undefinedstaterunStateputStrLncons2 listMatch2fix1fix2uncurry1 optionMatch2 optionMatch3writer1 runWriter1ioBind2 float2Double1 doubleExp1 floatExp1 sumMatch2state1 runState1 runState2 $fMonadrMaybe$fApplicativeTYPErMaybe$fFunctorTYPErMaybe $fMonadrIO$fApplicativeTYPErIO$fFunctorTYPErIO$fMonadrStateT$fApplicativeTYPErStateT$fFunctorTYPErStateT$fMonadrWriterT$fApplicativeTYPErWriterT$fFunctorTYPErMap$fFunctorTYPErWriterT$fBiFunctorTYPErDual$fBiFunctorTYPEr(,)$fBiFunctorTYPErEither$fFunctorTYPEr[]$fMonoidTYPEr[] $fVectorr(->) $fGroupr(->)$fMonoidTYPEr(->)$fVectorrepr(,)$fGrouprepr(,)$fMonoidTYPErepr(,)$fVectorrFloat $fGrouprFloat$fMonoidTYPErFloat $fVectorr() $fGroupr()$fMonoidTYPEr()$fProdConVectorlr$fProdConReifylr$fProdConMonoidlr$fReifyrepr(,)$fReifyrDouble $fReifyr()DLang$fDLangCombine $fLangCombine $fUnitCombine $fDualCombine$fBimapCombine $fMapCombine$fOptionCombine$fFloatCombine$fDoubleCombine $fProdCombine $fCharCombine $fBoolCombine $fDBICombine $fDLangDiff $fLangDiff $fUnitDiff $fBimapDiff $fMapDiff $fOptionDiff $fFloatDiff $fDoubleDiff $fDualDiff $fProdDiff $fCharDiff $fBoolDiff $fDBIDiffcomb $fDLangEval $fLangEval $fUnitEval $fDualEval $fBimapEval $fMapEval $fOptionEval $fFloatEval $fDoubleEval $fProdEval $fCharEval $fBoolEval $fDBIEval $fDLangGDiff $fLangGDiff $fUnitGDiff $fBimapGDiff $fMapGDiff $fOptionGDiff $fFloatGDiff $fDoubleGDiff $fDualGDiff $fProdGDiff $fCharGDiff $fBoolGDiff $fDBIGDiffrunImpW $fDLangImpW $fLangImpW $fUnitImpW $fDualImpW $fBimapImpW $fMapImpW $fOptionImpW $fFloatImpW $fDoubleImpW $fProdImpW $fCharImpW $fBoolImpW $fDBIImpW$fDLangInfDiff $fLangInfDiff $fUnitInfDiff $fMapInfDiff$fOptionInfDiff $fProdInfDiff $fBoolInfDiff $fCharInfDiff$fDoubleInfDiff$fFloatInfDiff$fBimapInfDiff $fDualInfDiff $fDBIInfDiff$fDLangGInfDiff$fLangGInfDiff$fUnitGInfDiff $fMapGInfDiff$fOptionGInfDiff$fProdGInfDiff$fBoolGInfDiff$fCharGInfDiff$fDoubleGInfDiff$fFloatGInfDiff$fBimapGInfDiff$fDualGInfDiff $fDBIGInfDiffdiffInf$fDLangRTInfDiff$fLangRTInfDiff$fUnitRTInfDiff$fBimapRTInfDiff$fMapRTInfDiff$fFloatRTInfDiff$fDoubleRTInfDiff$fCharRTInfDiff$fBoolRTInfDiff$fOptionRTInfDiff$fDualRTInfDiff$fProdRTInfDiff$fDBIRTInfDiffShowrunShowASTLeafAppLamappASTlamASTname $fDLangShow $fLangShow $fUnitShow $fDualShow $fBimapShow $fMapShow $fOptionShow $fFloatShow $fDoubleShow $fProdShow $fCharShow $fBoolShow $fDBIShow $fShowASTSizerunSizeone $fDLangSize $fLangSize $fUnitSize $fBimapSize $fDualSize $fProdSize $fMapSize $fFloatSize $fDoubleSize $fOptionSize $fCharSize $fBoolSize $fDBISizeUInt $fDLangUInt $fLangUInt $fUnitUInt $fOptionUInt $fProdUInt $fMapUInt $fDualUInt $fBimapUInt $fFloatUInt $fDoubleUInt $fCharUInt $fBoolUInt $fDBIUInt $fDLangUnHOAS $fLangUnHOAS $fUnitUnHOAS $fDualUnHOAS $fBimapUnHOAS $fMapUnHOAS$fOptionUnHOAS $fFloatUnHOAS$fDoubleUnHOAS $fProdUnHOAS $fCharUnHOAS $fBoolUnHOAS $fDBIUnHOAS UnLiftEnv runUnLiftEnv unLiftEnv$fDLangUnLiftEnv$fLangUnLiftEnv$fBimapUnLiftEnv$fMapUnLiftEnv$fOptionUnLiftEnv$fUnitUnLiftEnv$fProdUnLiftEnv$fBoolUnLiftEnv$fCharUnLiftEnv$fDoubleUnLiftEnv$fFloatUnLiftEnv$fDualUnLiftEnv$fDBIUnLiftEnvWithDiffwithDiff withDiff1 selfWithDiff$fWithDiffrepr(,)$fWithDiffrFloat$fWithDiffrDouble $fWithDiffr()$fProdConWithDifflrpolyl2compsolvemainXOR doubleWeightsigmoidsigmoid1scaleAddwithBiasneuronneuron1hiddenxorNetl22evaldatasetlossfindXor!random-1.1-54KmMHXjttlERYcr1mvsAe System.Random getStdRandom newStdGen getStdGen setStdGenmkStdGen RandomGensplitnextgenRangeStdGenRandomrandomrandomRrandomRsrandoms randomRIOrandomIObaseGHC.Base++ System.IOprint$ghc-prim GHC.Classes==GHC.Real/>>=GHC.Num*+-<<=compareGHC.Showshow GHC.TypesIntMaybeIO Data.EitherEither Constraint Data.VoidabsurdVoid Data.Proxy asProxyTypeOfProxyKProxy.String(constraints-0.9.1-ADQinFPdVCH5UvxP4ivxFhData.Constraint.Forallforallinst1instTinstFinstForallForallFForallTForall1ForallVInstVinstVData.Constraint unmapDictmapDictbottomtop&&&contract strengthen2 strengthen1weaken2weaken1***refltrans\\withDictDict:-SubBottomClasscls:=>instransformers-0.5.2.0Control.Monad.Trans.State.LazyStateControl.Monad.Trans.Writer.LazyWriter