*u      !"#$%&'()*+,-./0123 4 5 6 7 8 9 : ; < = > ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstNoneLoad 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 uvuvNone"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 ok type responses. E These are only displayed in the Interactive and Batch interfaces.     None Compile via the LLVM backend. Compile via the C backend. ,Core language pretty printer configuration. (Configuration for main compiler stages. Dump intermediate code. 4Use bidirectional type inference on the input code. *Simplifiers to apply to intermediate code Backend code generator to use Runtime system configuration /The builder to use for the target architecture ,Core langauge pretty printer configuration.  Suppress the #import prelude in C modules 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. 'KConvert a the pretty configuration into the mode to use to print a module.  We keep the  , type separate from PrettyMode because the I former can be non-recursive with other types, and does not need to be 2 parameterised by the annotation or name types.   !"#$%&'  !"#$%&' !"#$% &'    !"#$%&'None(Load and typecheck a module. (Driver config. Language fragment. Path to the module. )If true, print errors out Driver config Language fragment. Path to the module. w()()()wNone*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. ****None+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. /CWind loop primops into tail recursive loops in a Core Flow module. +,-./+,-./+,-./+,-./None0Load and type check Core Lite. 1Optimise Core Lite. 2 Convert Core Lite to Core Salt. 012012012012 None3(Load and type check a Core Salt module. 4Optimise Core Salt. 5Convert Core Salt to C code. 6Convert Core Salt to LLVM. 7Compile Core Salt via C code. 8Compile LLVM code. 34567Path of original source file. 0 Build products are placed into the same dir. 'Should we link this into an executable 8Path of original source file. 0 Build products are placed into the same dir. 'Should we link this into an executable 345678345678345678 None9+Load and type check a Source Tetra module. :)Load and type check a Core Tetra module. ;*Convert a Core Tetra module to Core Salt. /This includes performing the Boxing transform. 9:;9:;9:;9:;None%  !"#$%+,-./0123456789:;% !"#$% 9:;+,-./012345678 None<#Lower a flow program to loop code. <Driver config. #Config for the lowering transform. Source of the code. Program module text. <<< None=5Thread a state token through the given flow program.  This can'1t be generic in the language fragment because we A need to provide a specific type to use for the world token, 2 and new types for the effectful combinators. =Driver config. Source of the code. Program module text. === None>2Prepare a Disciple Core Flow module for lowering. >Driver config. Source of the code. Program module text. >>>None?@Perform rate inference to transform vector operations to series ?Driver config. Source of the code. Program module text. ???None@5Thread a state token through the given flow program.  This can'1t be generic in the language fragment because we A need to provide a specific type to use for the world token, 2 and new types for the effectful combinators. @Driver config. Source of the code. Program module text. @@@NoneA#Lower a flow program to loop code. ASource of the code. Program module text. AAANoneB3Prepare a Disciple Core Tetra module for lowering. BDriver config. Source of the code. Program module text. BBBNoneCCompile a source module into a .o file. CCCCNonexyzDDDxyzDNone E0What components of the checked type to display. J1Parse and type-check a core module from a file,  printing any errors to stdout. IThis function handle fragments of Disciple Core, as well as Source Tetra J modules. The language to use is determined by inspecting the file name  extension. K2Check a Disciple Source Tetra module from a file. L4Check a Disciple Source Tetra module from a string.  Any errors are thrown in the { monad. M2Check some fragment of Disciple core from a file. N2Parse and type-check a core module from a string. O(Parse a core spec, and return its kind. P/Show the type of a type in the given universe. Q"Check if two types are equivlant. R"Parse the given core expression, ; and return it, along with its type, effect and closure. CIf the expression had a parse error, undefined vars, or type error # then print this to the console. FWe include a flag to override the language profile to allow partially K applied primitives. Although a paticular evaluator (or backend) may not J support partially applied primitives, we want to accept them if we are 1 only loading an expression to check its type. S Show the spec of an expression. T>Check expression and reconstruct type annotations on binders. UShow the type of a witness. EFGHIJDriver config. Module file path. KDriver config. Module file path. LDriver config. Source of the code. Program module text. MDriver config. Core language definition. Module file path. NLanguage fragment. Source of the program text. Program text. Type checker mode. OLanguage fragment. )Universe this type is supposed to be in. Source of the program text. Program text. PQRThe current language fragment. Current modules Type checker mode. Print type checker trace. )Allow partial application of primitives. (Where this expression was sourced from. Text to parse. SLanguage 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. TUEFGHIJKLMNOPQRSTUJKLMNPQOEIHGFSTRU EIHGFJKLMNOPQRSTUNoneVCLoad and transform a module or expression, and print the result to stdout. If the source starts with the 'module' keyword then treat it as one, ( otherwise treat it as an expression. W5Load and transform a module, and print the result to stdout. X!Load and transfrom an expression  and print the result to stdout. Y9Load an expression and apply the current transformation. Z+Transform an expression, or display errors VDriver config. Language definition. Print transform info. Source of the code.  Input text. WDriver config. Language definition. Print transform info. Source of the code.  Input text. XDriver config. Source language. Print transform info. Source of input text.  Input text. YDriver config. ZTrace transform information. Language profile. Kind Environment. Type Environment. VWXYZVWXYZVWXYZNone[Load and transform a module.  The result is printed to stdout.  Any errors are thrown in the { monad. IThis function handle fragments of Disciple Core, as well as Source Tetra J modules. The language to use is determined by inspecting the file name  extension. GWe also take the specification of a simplifier to apply to the module. \1Load a Disciple Source Tetra module from a file.  The result is printed to stdout.  Any errors are thrown in the { monad. ]3Load a Disciple Source Tetra module from a string.  The result is printed to stdout.  Any errors are thrown in the { monad. ^)Load a Disciple Core module from a file.  The result is printed to stdout. _+Load a Disciple Core module from a string.  The result it printed to stdout. `.Parse the simplifier defined in this string, G and load it and all the inliner templates into the language bundle. [Driver config. Simplifier specification. *More modules to use as inliner templates. Module file name. \Driver config. Module file path. ]Driver config. 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. `Driver config. Language definition. Simplifier specification. %Modules to use as inliner templates. [\]^_`[\]^_`[\]^_`Nonea)Make a source module into an executable. aaaaNonebParse a module.  The result AST is printed to stdout.  Any errors are thrown in the { monad. IThis function handle fragments of Disciple Core, as well as Source Tetra J modules. The language to use is determined by inspecting the file name  extension. c2Parse a Disciple Source Tetra module from a file.  The result AST is printed to stdout.  Any errors are thrown in the { monad. d*Parse a Disciple Core module from a file.  The AST is printed to stdout.  Any errors are thrown in the { monad. bDriver config. Module file name. cDriver config. Module file path. dDriver config Core language definition. Module file path. bcdbcdbcdNoneeConvert a module to C.  The output is printed to stdout.  Any errors are thrown in the { monad. f$Convert Disciple Source Tetra to C.  The result is printed to stdout.  Any errors are thrown in the { monad. g$Convert Disciple Source Tetra to C.  The result is printed to stdout.  Any errors are thrown in the { monad. h/Parse, check and convert a Core module to Sea.  Works for the Tetra, Lite and Salt fragments.  The result is printed to stdout.  Any errors are thrown in the { monad. i)Parse, check, and convert a module to C.  The output is printed to stdout.  Any errors are thrown in the { monad. eDriver config. Core language definition. fDriver config. Module file path. gDriver config. Source of the code. Program module text. hDriver config. Core language definition. Module file path. iCompiler configuration. Language definition. Source of the code. Program module text. efghiefghiefghiNonejConvert a module to LLVM.  The output is printed to stdout.  Any errors are thrown in the { monad. k'Convert Disciple Source Tetra to LLVM.  The result is printed to stdout.  Any errors are thrown in the { monad. l'Convert Disciple Source Tetra to LLVM.  The result is printed to stdout.  Any errors are thrown in the { monad. m0Parse, check and convert a Core module to LLVM.  Works for the Tetra, Lite and Salt fragments.  The result is printed to stdout.  Any errors are thrown in the { monad. n0Parse, check and convert a Core module to LLVM.  Works for the Tetra, Lite and Salt fragments.  The result is printed to stdout.  Any errors are thrown in the { monad. jDriver config. Core language definition. kDriver config. Module file path. lDriver config. Source of the code. Program module text. mDriver config. Core language definition. Module file path. nDriver config. Language definition. Source of the code. Program module text. jklmnjklmnjklmnNoneoConvert a module to Core Salt.  The output is printed to stdout.  Any errors are thrown in the { monad. p3Convert Disciple Core Tetra to Disciple Core Salt.  The result is printed to stdout.  Any errors are thrown in the { monad. q5Convert Disciple Source Tetra to Disciple Core Salt.  The result is printed to stdout.  Any errors are thrown in the { monad. r5Convert some fragment of Disciple Core to Core Salt.  Works for the Lite and Tetra fragments.  The result is printed to stdout.  Any errors are thrown in the { monad. s5Convert some fragment of Disciple Core to Core Salt.  Works for the Lite and Tetra fragments.  The result is printed to stdout.  Any errors are thrown in the { monad. oDriver config. Module file path. pDriver config. Module file path. qDriver config. Source of the code. Program module text. rDriver config. Core language definition. Module file path. sDriver config. Language definition. Source of the code. Program module text. opqrsopqrsopqrsNonet+Concretize rate variables to loop indices. tSource of the code. Program module text. ttt| !"#$%&'()*+,,-./01233456789:;<=>?@ABCDEFGHIJKLMNO P Q R S T U V W X Y Z [\]^_`abcdefghijklmnopqrstuvwxyz{|}~ddc-driver-0.4.1.3DDC.Driver.Command.CheckDDC.Driver.Command.RewriteRulesDDC.Driver.OutputDDC.Driver.ConfigDDC.Driver.Command.ReadDDC.Driver.DumpDDC.Driver.Stage.FlowDDC.Driver.Stage.LiteDDC.Driver.Stage.SaltDDC.Driver.Stage.TetraDDC.Driver.Command.Flow.LowerDDC.Driver.Command.Flow.MeltDDC.Driver.Command.Flow.PrepDDC.Driver.Command.Flow.RateDDC.Driver.Command.Flow.ThreadDDC.Driver.Command.Flow.WindDDC.Driver.Command.Tetra.BoxingDDC.Driver.Command.CompileDDC.Driver.Command.BaseBuildDDC.Driver.Command.TransDDC.Driver.Command.LoadDDC.Driver.Command.MakeDDC.Driver.Command.ParseDDC.Driver.Command.ToCDDC.Driver.Command.ToLlvmDDC.Driver.Command.ToSalt"DDC.Driver.Command.Flow.ConcretizeDDC.Driver.Stageddc-core-0.4.1.3DDC.Type.Check.ContextReconSynthCheckModecmdTryReadRulesoutDocoutDocLnoutStroutStrLn chatStrLn ViaBackendViaLLVMViaC ConfigPrettyconfigPrettyUseLetCaseconfigPrettyVarTypesconfigPrettyConTypesconfigPrettySuppressImportsconfigPrettySuppressExportsconfigPrettySuppressLetTypesConfig configDumpconfigInferTypesconfigSimplLiteconfigSimplSaltconfigViaBackend configRuntime configBuilder configPrettyconfigSuppressHashImportsconfigOutputFileconfigOutputDirconfigKeepLlvmFilesconfigKeepSeaFilesconfigKeepAsmFilesconfigTaintAvoidTypeChecksdefaultConfigPrettyprettyModeOfConfig cmdReadModulecmdReadModule'dump stageFlowLoad stageFlowPrep stageFlowRatestageFlowLower stageFlowWind stageLiteLoad stageLiteOptstageLiteToSalt stageSaltLoad stageSaltOpt stageSaltToCstageSaltToLLVMstageCompileSaltstageCompileLLVMstageSourceTetraLoadstageTetraLoadstageTetraToSalt cmdFlowLower cmdFlowMelt cmdFlowPrep cmdFlowRate cmdFlowThread cmdFlowWindcmdTetraBoxing cmdCompile cmdBaseBuild ShowSpecModeShowSpecClosureShowSpecEffect ShowSpecData ShowSpecAllcmdCheckFromFilecmdCheckSourceTetraFromFilecmdCheckSourceTetraFromStringcmdCheckCoreFromFilecmdCheckCoreFromStringcmdParseCheckType cmdShowType cmdTypeEquivcmdParseCheckExp cmdShowSpec cmdExpRecon cmdShowWTypecmdTransDetectcmdTransModule cmdTransExpcmdTransExpConttransExpcmdLoadFromFilecmdLoadSourceTetraFromFilecmdLoadSourceTetraFromStringcmdLoadCoreFromFilecmdLoadCoreFromStringcmdLoadSimplifiercmdMakecmdParseFromFilecmdParseSourceTetraFromFilecmdParseCoreFromFilecmdToSeaFromFilecmdToSeaSourceTetraFromFilecmdToSeaSourceTetraFromStringcmdToSeaCoreFromFilecmdToSeaCoreFromStringcmdToLlvmFromFilecmdToLlvmSourceTetraFromFilecmdToLlvmSourceTetraFromStringcmdToLlvmCoreFromFilecmdToLlvmCoreFromStringcmdToSaltFromFilecmdToSaltSourceTetraFromFilecmdToSaltSourceTetraFromStringcmdToSaltCoreFromFilecmdToSaltCoreFromStringcmdFlowConcretizecmdReadRules_parseparsecmdReadModule_parse baseLiteFiles baseSaltFiles baseSeaFilestransformers-0.4.1.0Control.Monad.Trans.ErrorErrorT