Type.Inference.Pipeline (mavis v0.0.6) View Source

composes inference modules into a single inference pipeline.

Link to this section Summary

Functions

creates a new inference modules out others. Order is important, subsequent modules should be considered to be fallbacks to previous ones. For example, you might want to put caches in the front, followed by user overrides, followed by type-spec derived inferences, followed by computed inference.

Link to this section Functions

Link to this macro

defpipeline(name, pipeline)

View Source (macro)

Specs

defpipeline(module(), [module()]) :: Macro.t()

creates a new inference modules out others. Order is important, subsequent modules should be considered to be fallbacks to previous ones. For example, you might want to put caches in the front, followed by user overrides, followed by type-spec derived inferences, followed by computed inference.

usage:

First, define the pipeline.

defpipeline PipelineModule, [Inference1, Inference2, Inference3]

then you may use it as expected:

PipelineModule.infer(String, :trim, 1)