Skip to main content

Module ir

Module ir 

Source
Expand description

Morphir IR module.

V4 is the primary/canonical format. Classic (V1-V3) is a submodule for legacy support.

§Type Aliases

For V4 (preferred), use Type, Value, Pattern directly with TypeAttributes and ValueAttributes. Or use the convenience aliases TypeExpr and ValueExpr.

For Classic (V1-V3 compatibility), use the classic submodule directly:

  • ir::classic::Type<A>, ir::classic::Value<TA, VA>, etc.

Re-exports§

pub use decimal::DecimalLiteral;
pub use decimal::InvalidDecimalLexeme;
pub use diagnostic::Diagnostic;
pub use diagnostic::DiagnosticCode;
pub use diagnostic::DiagnosticError;
pub use diagnostic::DiagnosticStage;
pub use diagnostic::Warning;
pub use v4::serde_tagged;
pub use v4::Access;
pub use v4::AccessControlled;
pub use v4::ApplicationContent;
pub use v4::ConstructorArg;
pub use v4::ConstructorArgSpec;
pub use v4::ConstructorDefinition;
pub use v4::ConstructorSpecification;
pub use v4::DefinitionDependencies;
pub use v4::Dependencies;
pub use v4::Distribution;
pub use v4::DistributionKind;
pub use v4::DistributionManifestFile;
pub use v4::EntryPoint;
pub use v4::EntryPointKind;
pub use v4::EntryPoints;
pub use v4::ExpectedEntries;
pub use v4::FILE_STEM_PATTERN;
pub use v4::Field;
pub use v4::FormatVersion;
pub use v4::HoleReason;
pub use v4::IRFile;
pub use v4::Incompleteness;
pub use v4::InputType;
pub use v4::LetBinding;
pub use v4::LibraryContent;
pub use v4::Literal;
pub use v4::MIN_PATH_BUDGET;
pub use v4::ModuleDefinition;
pub use v4::ModuleEntries;
pub use v4::ModuleManifestFile;
pub use v4::ModuleSpecification;
pub use v4::NativeHint;
pub use v4::NativeInfo;
pub use v4::NodeFileBody;
pub use v4::PackageDefinition;
pub use v4::PackageSpecification;
pub use v4::Pattern;
pub use v4::PatternCase;
pub use v4::RecordFieldEntry;
pub use v4::SourceLocation;
pub use v4::SpecsContent;
pub use v4::Type;
pub use v4::TypeAttributes;
pub use v4::TypeDefinition;
pub use v4::TypeDefinitionFile;
pub use v4::TypeExpr;
pub use v4::TypeSpecification;
pub use v4::Value;
pub use v4::ValueAttributes;
pub use v4::ValueBody as ValueDefBody;
pub use v4::ValueDefinition;
pub use v4::ValueDefinitionFile;
pub use v4::ValueExpr;
pub use v4::ValueExprBody as ValueBody;
pub use v4::ValueExprDefinition;
pub use v4::ValueHoleReason;
pub use v4::ValueNativeHint;
pub use v4::ValueSpecification;

Modules§

classic
Morphir Classic IR (Elm-compatible V1-V3)
decimal
A decimal literal is a genuine decimal.
diagnostic
Diagnostics shared by every IR codec, matching the Morphir Compatibility Kit’s diagnostic codes, stages and JSON-pointer cursors.
json
The JSON storage profile: a strict reader and the canonical writer.
layout
The document-tree layout: the storage-profile boundary, the logical path grammar, and file stems.
v4
Morphir IR V4
yaml
The IR YAML profile: one reader producing the JSON value tree, one canonical writer.