]LS      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJ K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e fghijklmnopqrstuvwxyz{|}~ !!!!!"""""#SafeAMOT!Output a document to the console.-Output a document and newline to the console.Output a string to the console.+Output a string and newline to the console.Output chatty okU type responses. These are only displayed in the Interactive and Batch interfaces.NoneAMOT $Use the platform's default strategy. Link the runtime statically. Compile via the C backend.Compile via the LLVM backend.+Core language pretty printer configuration.'Configuration for main compiler stages.&Print status to console during builds.Dump intermediate code.3Use bidirectional type inference on the input code.)Simplifiers to apply to intermediate codeBackend code generator to useRuntime system configuration!Linking strategy for the runtime. .The builder to use for the target architecture!+Core langauge pretty printer configuration.")Suppress the #import prelude in C modules#:Base directories to look for modules sources during build.$Override output file%%Override directory for build products&Keep intermediate .ddc.ll files'Keep intermediate .ddc.c files(Keep intermediate .ddc.s files)Avoid running the type checker where possible. When debugging program transformations, use this to get the invalid code rather than just the type error message.*%Default pretty printer configuration.+ZConvert a the pretty configuration into the mode to use to print a module. We keep the  type separate from PrettyMode because the former can be non-recursive with other types, and does not need to be parameterised by the annotation or name types.,TGiven the name of a source file, determine the where the object files should go.The first component of the result is where we should put produced object files, The second are paths of where we might find pre-existing objects, in preference order.-^Given the name of a source file, determine where we should put an executable built from it.%  !"#$%&'()*+,Compiler config.Path to module source.-Compiler config.Path to module source.%  !"#$%&'()*+,-% !"#$%&'()*+,-      !"#$%&'()*+,-SafeAMOT1)Where some source code was obtained from.,This is used when generating error messages.2Read directly from a file.3Supplied on the command line.4Typed into the console.5 Part of a .dcx batch file.6>Get the starting source line number to report for this source.7Get the name of a source.1234567123456712345671234567NoneAMOT:If the Dump mode is set then produce a SinkFile to write a module to a file, otherwise produce SinkDiscard to drop it on the floor.::::NoneAMOT;Type check Core Flow.<(Prepare a Core Flow module for lowering.=?Perform rate inference to transform vector operations to series>_Lower a Core Flow module. Is needs to already be prepped, and have full type annotations.?BWind loop primops into tail recursive loops in a Core Flow module.@BWind loop primops into tail recursive loops in a Core Flow module.;<=>?@;<=>?@;<=>?@;<=>?@NoneAMOTA'Load and type check a Core Salt module.BOptimise Core Salt.CConvert Core Salt to C code.DConvert Core Salt to LLVM.ECompile Core Salt via C code.FCompile LLVM code.ABCDEMPath of original source file. Build products are placed into the same dir.&Should we link this into an executableFMPath of original source file. Build products are placed into the same dir.:If True then link with these other .os into an executable.ABCDEFABCDEFABCDEFNoneAMOTG*Load and type check a Source Tetra module.H(Load and type check a Core Tetra module.I)Convert a Core Tetra module to Core Salt..This includes performing the Boxing transform.GHIGHIGHIGHI#NoneAMOT(  !"#$%&'();<=>?@ABCDEFGHI( !"#$%&'()  GHI;<=>?@ABCDEF SafeAMOT J)How we're reading the current expression.K]Read input line-by-line, using a backslash at the end of the line to continue to the next.L;Read input as a block terminated by a double semicolon (;;)M.Read input from a file specified on the promptNWhat interface is being used.O*Read commands from unix command-line args.P-Read commands interactively from the console.Q+Read commands from the file with this name.Y/Read the input mode from the front of a string.JKLMNOPQRSTUVWXYZJKLMNOPQRSTUVWXYZNOPQRSTUVWXJKLMYZJKLMNOPQRSTUVWXYZ NoneAMOT_/Scan a module. Any errors are thrown in the  monad._Driver config.Module file name."Whether to print source locations.___ NoneAMOT`cLoad and typecheck a module's rewrite rules, using exported and imported definitions from module`Language fragment.Path to the module.(Module with types of imports and exports``` NoneAMOTaLoad and typecheck a module.aDriver config.Language fragment.Path to the module.bIf true, print errors out Driver configLanguage fragment.Path to the module.ababab NoneAMOTc0Parse a module. The result AST is printed to stdout". Any errors are thrown in the  monad.This function handle fragments of Disciple Core, as well as Source Tetra modules. The language to use is determined by inspecting the file name extension.dRParse a Disciple Source Tetra module from a file. The result AST is printed to stdout". Any errors are thrown in the  monad.eCParse a Disciple Core module from a file. The AST is printed to stdout". Any errors are thrown in the  monad.cDriver config.Module file name.dDriver config.Module file path.e Driver configCore language definition.Module file path.cdecdecdeNoneAMOTf0Manage higher order functions in a Tetra module.fDriver config.Source of the code.Program module text.fffNoneAMOTg Manage boxing in a Tetra module.gDriver config.Source of the code.Program module text.gggNoneAMOTh"Lower a flow program to loop code.hSource of the code.Program module text.hhhNoneAMOTi<Convert a module to Core Tetra. The output is printed to stdout". Any errors are thrown in the  monad.jGConvert some fragment of Disciple Core to Core Tetra. Works for the Flow' fragment. The result is printed to stdout". Any errors are thrown in the  monad.kGConvert some fragment of Disciple Core to Core Tetra. Works for the Tetra' fragment. The result is printed to stdout". Any errors are thrown in the  monad.iDriver config."Config for the lowering transform.Module file path.jDriver config."Config for the lowering transform.Core language definition.Module file path.kDriver config."Config for the lowering transform.Language definition.Source of the code.Program module text.lijklijklijklNoneAMOTmThread a state token through the given flow program. This can't be generic in the language fragment because we need to provide a specific type to use for the world token, and new types for the effectful combinators.mDriver config.Source of the code.Program module text.mmmNoneAMOTn?Perform rate inference to transform vector operations to serieso"Perform rate inference, then lowernDriver config.Source of the code.Program module text.oDriver config."Config for the lowering transform.Source of the code.Program module text.nononoNoneAMOTp1Prepare a Disciple Core Flow module for lowering.pDriver config.Source of the code.Program module text.pppNoneAMOTqThread a state token through the given flow program. This can't be generic in the language fragment because we need to provide a specific type to use for the world token, and new types for the effectful combinators.qDriver config.Source of the code.Program module text.qqqNoneAMOTr"Lower a flow program to loop code.rDriver config."Config for the lowering transform.Source of the code.Program module text.rrrNoneAMOTs*Concretize rate variables to loop indices.sSource of the code.Program module text.sssSafeAMOTtLocate the source file for a module, starting from the given list of base paths. If the module cannot be found, or is found from multiple paths then throw an error in the monad.oGiven the path of a .build spec, and a module name, yield the path where the source of the module should be.t Base paths. Module name.Source file extension Base path. Module name.Source file extension.tttNoneAMOTu(Recursively compile source modules into .o? files, or load existing interfaces if we have them and the .o file is still fresh.fInterface files that are loaded or generated during compilation are added to the interface store.vRecursively compile .ds source modules into .o? files, or load existing interfaces if we have them and the .o file is still fresh.fInterface files that are loaded or generated during compilation are added to the interface store.wqLoad the interface correponding to a source file, or re-compile the source if it's fresher than the interface.MInterfaces for dependent modules must already be in the interface store.Look for an interface file in the given directory. If there's one there see if it's fresh enough to reload (True) or whether we need to rebuild it (False).,It's safe to reload the module from an inteface file if: 1. There is an existing interface which is fresher than the source. 2. There is an existing object which is fresher than the source. 3. There is an existing interface which is fresher than the interfaces of all dependencies.Additionally, we force rebuild for the top level module, because that's what was mentioned on the command line. We're trying to follow the principle of least surprise in this regard.xCompile a source module into a .o file.MInterfaces for dependent modules must already be in the interface store.This produces an .o; file next to the source file, and may also produce a .diG interface, depending on what sort of source file we're compiling.QIf compilation produces an interface then it is added to the existing store.=Given a driver config, locate the module with the given name.yNIf the given file exists then get its modification time, otherwise Nothing.*Drop tokens after and including the first 'where' keyword. When parsing just the module header we can drop these tokens because they only represent the body of the module. uBuild driver config.Build an exectable.Interface store.Path to file to compilevBuild driver config.Build an executable.Inferface store.$Names of source files still to load.(Names of source files currently blocked.wBuild driver config.Build an exeecutable.Interface store.Path to source file.Current interface store."Timestamp on original source file."Names of modules needed by source.Expected path of object file.xBuild driver config.Build an executable.Interface store.Path to source file.Path of module.Module source.yuvwxyuvwxy uvwxyNoneAMOTz1Build all the components defined by a build spec.{)Build a single component of a build spec..Build a library consisting of several modules.2Build an executable consisting of several modules.|Build a single module.z Build config.Interface store. Build spec.{ Build config.Interface store.Component to build. Build configInterface store.Names of modules still to build Build config.Interface store.Name of main module.Names of dependency modules| Build config.Interface store. Module name.z{|z{|z{|NoneAMOT}}}}NoneAMOT~~~~NoneAMOT /What components of the checked type to display.KParse and type-check a core module from a file, printing any errors to stdout.This function handle fragments of Disciple Core, as well as Source Tetra modules. The language to use is determined by inspecting the file name extension.1Check a Disciple Source Tetra module from a file.TCheck a Disciple Source Tetra module from a string. Any errors are thrown in the  monad.1Check some fragment of Disciple core from a file.1Parse and type-check a core module from a string.'Parse a core spec, and return its kind..Show the type of a type in the given universe.!Check if two types are equivlant.\Parse the given core expression, and return it, along with its type, effect and closure.eIf the expression had a parse error, undefined vars, or type error then print this to the console. We include a flag to override the language profile to allow partially applied primitives. Although a paticular evaluator (or backend) may not support partially applied primitives, we want to accept them if we are only loading an expression to check its type.Show the spec of an expression.=Check expression and reconstruct type annotations on binders.Show the type of a witness.Driver config.Interface store.Module file path.Driver config.Interface store.Module file path.Driver config.Interface storeSource of the code.Program module text.Driver config.Core language definition.Module file path.Language fragment.Source of the program text. Program text.Type checker mode.Language fragment.(Universe this type is supposed to be in.Source of the program text. Program text.The current language fragment.Current modulesType checker mode.Print type checker trace.(Allow partial application of primitives.'Where this expression was sourced from.Text to parse.Language fragment.What part of the type to show..Type checker mode, Synth(True) or Recon(False)&Whether to display type checker trace.Source of the program text. Program text. NoneAMOTCLoad and transform a module or expression, and print the result to stdout.If the source starts with the 'module'F keyword then treat it as one, otherwise treat it as an expression.5Load and transform a module, and print the result to stdout.<Load and transfrom an expression and print the result to stdout.8Load an expression and apply the current transformation.*Transform an expression, or display errorsDriver config.Language definition.Print transform info.Source of the code. Input text.Driver config.Language definition.Print transform info.Source of the code. Input text.Driver config.Source language.Print transform info.Source of input text. Input text.Driver config.Trace transform information.Language profile.NoneAMOT9Load and transform source code, interface, or build file.The result is printed to stdout". Any errors are thrown in the  monad.This function handle fragments of Disciple Core, as well as Source Tetra modules. The language to use is determined by inspecting the file name extension.FWe also take the specification of a simplifier to apply to the module.fFor Source Tetra modules, dependent modules will be compiled, or their interfaces loaded as needed.MLoad a Disciple Source Tetra module from a file. The result is printed to stdout". Any errors are thrown in the  monad.OLoad a Disciple Source Tetra module from a string. The result is printed to stdout". Any errors are thrown in the  monad.ELoad a Disciple Core module from a file. The result is printed to stdout.GLoad a Disciple Core module from a string. The result it printed to stdout.tParse the simplifier defined in this string, and load it and all the inliner templates into the language bundle.iParse the simplifier defined in this string, and load it and all the inliner templates into the bundleDriver config.Interface store.Simplifier specification.)More modules to use as inliner templates.Module file name.Driver config.Interface store.Tetra language bundle.Module file path.Driver config.Interface store.Tetra language bundle.Source of the code.Program module text.Driver config.Core language definition.Module file pathDriver config.Language definitionSource of the code.Program module text.Driver config.Language definition.Simplifier specification.$Modules to use as inliner templates.Driver config.Language bundleSimplifier specification.$Modules to use as inliner templates.NoneAMOT3Convert a module to C. The output is printed to stdout". Any errors are thrown in the  monad.@Convert Disciple Source Tetra to C. The result is printed to stdout". Any errors are thrown in the  monad.@Convert Disciple Source Tetra to C. The result is printed to stdout". Any errors are thrown in the  monad.@Parse, check and convert a Core module to Sea. Works for the Tetra, and Salt( fragments. The result is printed to stdout". Any errors are thrown in the  monad.EParse, check, and convert a module to C. The output is printed to stdout#. Any errors are thrown in the  monad.Driver config.Interface store.Core language definition.Driver config.Interface store.Module file path.Driver config.Interface store.Source of the code.Program module text.Driver config.Core language definition.Module file path.Compiler configuration.Language definition.Source of the code.Program module text. NoneAMOT6Convert a module to LLVM. The output is printed to stdout". Any errors are thrown in the  monad.CConvert Disciple Source Tetra to LLVM. The result is printed to stdout". Any errors are thrown in the  monad.CConvert Disciple Source Tetra to LLVM. The result is printed to stdout". Any errors are thrown in the  monad.AParse, check and convert a Core module to LLVM. Works for the Tetra, and Salt( fragments. The result is printed to stdout". Any errors are thrown in the  monad.AParse, check and convert a Core module to LLVM. Works for the Tetra, and Salt( fragments. The result is printed to stdout". Any errors are thrown in the  monad.Driver config.Interface store.Core language definition.Driver config.Interface store.Module file path.Driver config.Interface store.Source of the code.Program module text.Driver config.Core language definition.Module file path.Driver config.Language definition.Source of the code.Program module text.!NoneAMOT5Convert a module to PHP. The output is printed to stdout". Any errors are thrown in the  monad.BConvert Disciple Source Tetra to PHP. The result is printed to stdout". Any errors are thrown in the  monad.BConvert Disciple Source Tetra to PHP. The result is printed to stdout". Any errors are thrown in the  monad.@Parse, check and convert a Core module to PHP. Works for the Tetra, and Salt( fragments. The result is printed to stdout". Any errors are thrown in the  monad.GParse, check, and convert a module to PHP. The output is printed to stdout#. Any errors are thrown in the  monad.Driver config.Interface store.Core language definition.Driver config.Interface store.Module file path.Driver config.Interface store.Source of the code.Program module text.Driver config.Core language definition.Module file path.Compiler configuration.Language definition.Source of the code.Program module text."NoneAMOT;Convert a module to Core Salt. The output is printed to stdout". Any errors are thrown in the  monad.OConvert Disciple Core Tetra to Disciple Core Salt. The result is printed to stdout". Any errors are thrown in the  monad.QConvert Disciple Source Tetra to Disciple Core Salt. The result is printed to stdout". Any errors are thrown in the  monad.FConvert some fragment of Disciple Core to Core Salt. Works for the Tetra' fragment. The result is printed to stdout". Any errors are thrown in the  monad.FConvert some fragment of Disciple Core to Core Salt. Works for the Tetra' fragment. The result is printed to stdout". Any errors are thrown in the  monad.Driver config.Interface store.Module file path.Driver config.Interface store.Module file path.Driver config.Interface store.Source of the code.Program module text.Driver config.Core language definition.Module file path.Driver config.Language definition.Source of the code.Program module text.$%&$%'$%($%)*+,-./01234556789:;<<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm n o p q r s t u v v w x y z { | } ~   !!!!!""""" )ddc-driver-0.4.3.1-LIsBXWUJn5S5gbf2Hb7rPBDDC.Driver.Command.CheckDDC.Driver.OutputDDC.Driver.ConfigDDC.Driver.Interface.SourceDDC.Driver.DumpDDC.Driver.Stage.FlowDDC.Driver.Stage.SaltDDC.Driver.Stage.TetraDDC.Driver.Interface.InputDDC.Driver.Command.ScanDDC.Driver.Command.RewriteRulesDDC.Driver.Command.ReadDDC.Driver.Command.ParseDDC.Driver.Command.Tetra.CurryDDC.Driver.Command.Tetra.BoxingDDC.Driver.Command.Flow.WindDDC.Driver.Command.Flow.ToTetraDDC.Driver.Command.Flow.ThreadDDC.Driver.Command.Flow.RateDDC.Driver.Command.Flow.PrepDDC.Driver.Command.Flow.MeltDDC.Driver.Command.Flow.Lower"DDC.Driver.Command.Flow.ConcretizeDDC.Driver.Build.LocateDDC.Driver.Command.CompileDDC.Driver.Build.MainDDC.Driver.Command.BaseBuildDDC.Driver.Command.BuildDDC.Driver.Command.TransDDC.Driver.Command.LoadDDC.Driver.Command.ToCDDC.Driver.Command.ToLlvmDDC.Driver.Command.ToPHPDDC.Driver.Command.ToSaltDDC.Driver.Stage'ddc-core-0.4.3.1-A1OkYyS5JkUKWhaaKQoS5LDDC.Core.Check.Context.ModeCheckSynthReconModeoutDocoutDocLnoutStroutStrLn chatStrLnRuntimeLinkStrategy LinkDefault LinkStatic ViaBackendViaCViaLLVM ConfigPrettyconfigPrettyUseLetCaseconfigPrettyVarTypesconfigPrettyConTypesconfigPrettySuppressImportsconfigPrettySuppressExportsconfigPrettySuppressLetTypesConfigconfigLogBuild configDumpconfigInferTypesconfigSimplSaltconfigViaBackend configRuntimeconfigRuntimeLinkStrategy configBuilder configPrettyconfigSuppressHashImportsconfigModuleBaseDirectoriesconfigOutputFileconfigOutputDirconfigKeepLlvmFilesconfigKeepSeaFilesconfigKeepAsmFilesconfigTaintAvoidTypeChecksdefaultConfigPrettyprettyModeOfConfigobjectPathsOfConfigexePathOfConfig$fShowViaBackend$fShowRuntimeLinkStrategy$fEqRuntimeLinkStrategySource SourceFile SourceArgs SourceConsole SourceBatchlineStartOfSource nameOfSource $fEqSource $fShowSourcedump stageFlowLoad stageFlowPrep stageFlowRatestageFlowLower stageFlowWindstageFlowToTetra stageSaltLoad stageSaltOpt stageSaltToCstageSaltToLLVMstageCompileSaltstageCompileLLVMstageSourceTetraLoadstageTetraLoadstageTetraToSaltInput InputLine InputBlock InputFileInputInterfaceInputInterfaceArgsInputInterfaceConsoleInputInterfaceBatch InputStateinputParseCommand inputMode inputCommandinputLineNumberinputAcc readInput inputLine$fEqInputInterface$fShowInputInterface $fEqInput $fShowInputcmdScanFromFilecmdTryReadRules cmdReadModulecmdReadModule'cmdParseFromFilecmdParseSourceTetraFromFilecmdParseCoreFromFile cmdTetraCurrycmdTetraBoxing cmdFlowWindcmdFlowToTetraFromFilecmdFlowToTetraCoreFromFilecmdFlowToTetraCoreFromStringpipelineFlowToTetra cmdFlowThread cmdFlowRatecmdFlowRateLower cmdFlowPrep cmdFlowMelt cmdFlowLowercmdFlowConcretizelocateModuleFromPathscmdCompileRecursivecmdCompileRecursiveDScmdLoadOrCompile cmdCompilegetModificationTimeIfExists buildSpecbuildComponent buildModule cmdBaseBuildcmdBuild ShowSpecMode ShowSpecAll ShowSpecDataShowSpecEffectShowSpecClosurecmdCheckFromFilecmdCheckSourceTetraFromFilecmdCheckSourceTetraFromStringcmdCheckCoreFromFilecmdCheckCoreFromStringcmdParseCheckType cmdShowType cmdTypeEquivcmdParseCheckExp cmdShowSpec cmdExpRecon cmdShowWType$fEqShowSpecMode$fShowShowSpecModecmdTransDetectcmdTransModule cmdTransExpcmdTransExpConttransExpcmdLoadFromFilecmdLoadSourceTetraFromFilecmdLoadSourceTetraFromStringcmdLoadCoreFromFilecmdLoadCoreFromStringcmdLoadSimplifiercmdLoadSimplifierIntoBundlecmdToSeaFromFilecmdToSeaSourceTetraFromFilecmdToSeaSourceTetraFromStringcmdToSeaCoreFromFilecmdToSeaCoreFromStringcmdToLlvmFromFilecmdToLlvmSourceTetraFromFilecmdToLlvmSourceTetraFromStringcmdToLlvmCoreFromFilecmdToLlvmCoreFromStringcmdToPHPFromFilecmdToPHPSourceTetraFromFilecmdToPHPSourceTetraFromStringcmdToPHPCoreFromFilecmdToPHPCoreFromStringcmdToSaltFromFilecmdToSaltSourceTetraFromFilecmdToSaltSourceTetraFromStringcmdToSaltCoreFromFilecmdToSaltCoreFromStringtransformers-0.5.2.0Control.Monad.Trans.ExceptExceptTcmdReadRules_parseparsecmdReadModule_parselocateModuleFromPathinterfaceIsFreshlocateModuleFromConfigdropBody tasteNeeded buildLibrarybuildExecutable baseSaltFiles baseSeaFiles