Package hydra.codeGeneration
Interface CodeGeneration
public interface CodeGeneration
Pure code generation pipeline for bootstrapping Hydra across languages.
-
Method Summary
Static MethodsModifier and TypeMethodDescriptiondecodeModuleFromJson(Graph bsGraph, List<Module> universeModules, Boolean doStripTypeSchemes, Value jsonVal) escapeControlCharsInJson(List<Integer> input) static StringformatPrimitive(Primitive prim) static StringformatTermBinding(Binding binding) formatTypeBinding(Binding binding) generateCoderModules(Function<T0, Flow<Graph, Maybe<T1>>> codec, Graph bsGraph, List<Module> universeModules, List<T0> typeModules) generateLexicon(Graph graph) static <T0,T1> Flow<Graph, List<Tuple.Tuple2<T0, T1>>> generateSourceFiles(Function<Module, Function<List<Definition>, Flow<Graph, Map<T0, T1>>>> printDefinitions, Language lang, Boolean doInfer, Boolean doExpand, Boolean doHoistCaseStatements, Boolean doHoistPolymorphicLetBindings, Graph bsGraph, List<Module> universeModules, List<Module> modsToGenerate) inferAndGenerateLexicon(Graph bsGraph, List<Module> kernelModules) static Graphstatic Modulestatic Stringstatic ModuletransitiveDeps(Function<Module, List<Namespace>> getDeps, Map<Namespace, Module> nsMap, List<Module> startMods)
-
Method Details
-
namespaceToPath
-
stripModuleTypeSchemes
-
transitiveDeps
-
moduleTermDepsTransitive
-
moduleTypeDepsTransitive
-
modulesToGraph
-
generateSourceFiles
static <T0,T1> Flow<Graph,List<Tuple.Tuple2<T0, generateSourceFilesT1>>> (Function<Module, Function<List<Definition>, Flow<Graph, Map<T0, T1>>>> printDefinitions, Language lang, Boolean doInfer, Boolean doExpand, Boolean doHoistCaseStatements, Boolean doHoistPolymorphicLetBindings, Graph bsGraph, List<Module> universeModules, List<Module> modsToGenerate) -
formatTermBinding
-
formatPrimitive
-
formatTypeBinding
-
buildSchemaMap
-
moduleToSourceModule
-
generateLexicon
-
moduleToJson
-
inferModules
-
generateCoderModules
-
inferAndGenerateLexicon
-
escapeControlCharsInJson
-
decodeModuleFromJson
-