ddc-source-tetra-0.4.3.1: Disciplined Disciple Compiler source language.

Safe HaskellNone
LanguageHaskell98

DDC.Source.Tetra.Convert

Description

Source Tetra conversion to Disciple Core Tetra language.

Synopsis

Documentation

data ErrorConvert l Source #

Things that can go wrong when converting source to core.

Constructors

ErrorConvertSugaredExp (GExp l)

Cannot convert sugared expression to core. This should have been desugared in a prior pass.

ErrorConvertSugaredLets (GLets l)

Cannot convert sugared let bindings to core. This should have been desugared in a prior pass.

ErrorConvertSugaredClause (GClause l)

Cannot convert sugared clause to core. This should have been desugared in a prior pass.

ErrorMultipleSignatures SourcePos (GXBindVar l)

Found multiple type signatures for the same binder. This should have been desugared in a prior pass.

ErrorTypeSignatureLacksBinding SourcePos (GXBindVar l)

Type signature lacks associated value-level binding.

Instances

coreOfSourceModule :: SP -> Module Source -> Either (ErrorConvert Source) (Module SP Name) Source #

Convert a Source Tetra module to Core Tetra.

runConvertM :: ConvertM a x -> Either (ErrorConvert a) x Source #

Run a conversion computation.