clafer-0.4.3: Compiles Clafer models to other formats: Alloy, JavaScript, JSON, HTML, Dot.

Safe HaskellNone
LanguageHaskell2010

Language.Clafer.Intermediate.ResolverName

Synopsis

Documentation

data SEnv Source

this environment is created for each clafer

Constructors

SEnv 

Instances

data HowResolved Source

How a given name was resolved

Constructors

Special

"this", "parent", "dref", "root", and "children"

TypeSpecial

primitive type: "integer", "string"

Binding

local variable (in constraints)

Subclafers

clafer's descendant

Reference

resolved by a reference

Ancestor

clafer's ancestor

AbsClafer

abstract clafer

TopClafer

non-abstract top-level clafer

liftError :: Monad m => Either e a -> ExceptT e m a Source

mkPath :: Span -> SEnv -> (HowResolved, String, [IClafer]) -> (IExp, [IClafer]) Source

Depending on how resolved construct a navigation path from 'context env'

resolve :: (Monad f, Functor f) => SEnv -> String -> [SEnv -> String -> f (Maybe b)] -> f b Source