| Adapt |
Simple, one-way adapters for types and terms
|
| Analysis |
Module dependency module name analysis
|
| Annotations |
Utilities for reading and writing type and term annotations
|
| Arity |
Functions dealing with arguments and arity.
|
| Checking |
Type checking and type reconstruction (type-of) for the results of Hydra unification and inference
|
| Classes |
Registry of Hydra's built-in type classes.
|
| Codegen |
Pure code generation pipeline for bootstrapping Hydra across languages.
|
| Constants |
A module for tier-0 constants.
|
| Decoding |
Functions for generating term decoders from type modules
|
| Dependencies |
Dependency extraction, binding sort, and let normalization
|
| Differentiation |
Source-to-source automatic differentiation for Float64 terms.
|
| Dsls |
Functions for generating domain-specific DSL modules from type modules
|
| Encoding |
Functions for generating term encoders from type modules
|
| Environment |
Graph to type environment conversions
|
| Formatting |
String formatting types and functions.
|
| Hoisting |
Functions for deep term rewriting operations involving hoisting subterms or bindings into enclosing let terms.
|
| Inference |
Type inference for Hydra: Hindley-Milner with elaboration to System F.
|
| Languages |
Language constraints for Hydra Core
|
| Lexical |
A module for lexical operations over graphs.
|
| Literals |
Conversion functions for literal values.
|
| Names |
Functions for working with qualified names.
|
| Parsers |
General-purpose parser combinators
|
| Predicates |
Type and term classification predicates
|
| Reduction |
Functions for reducing terms and types, i.e.
|
| Reflect |
Reflection functions for working with term, type, and literal type variants, as well as numeric precision.
|
| Resolution |
Type dereference, lookup, requirements, and instantiation
|
| Rewriting |
Core rewrite and fold combinators for terms and types
|
| Scoping |
Graph context extension and type scheme conversion
|
| Serialization |
Utilities for constructing generic program code ASTs, used for the serialization phase of source code generation.
|
| Sorting |
Utilities for sorting.
|
| Strip |
Annotation and type stripping and normalization
|
| Substitution |
Variable substitution in type and term expressions.
|
| Templates |
A utility which instantiates a nonrecursive type with default values
|
| Unification |
Utilities for type unification.
|
| Variables |
Free variable analysis, term-level substitution, and unshadowing
|