ddc-core-eval-0.2.1.1: Disciple Core language semantic evaluator.

Safe HaskellSafe-Infered

DDC.Core.Eval.Check

Synopsis

Documentation

checkCapsX :: Exp a Name -> Maybe ErrorSource

Check for conflicting store capabilities in the program.

data Error Source

Things that can go wrong with the capabilities in a program.

Constructors

ErrorConflict

Conflicting capabilities in program.

ErrorPartial

A partially applied capability constructor. In the formal semantics, capabilities are atomic, so this isn't a problem. However, as we're representing them with general witness appliction we need to ensure the constructors aren't partially applied.

ErrorNonHandle

A capability constructor applied to a non-region handle. As with ErrorPartial we only need to check for this because we're using general witness application to represent capabilities, instead of having an atomic form.

Instances