nanopass-0.0.3.0: Create compilers using small passes and many intermediate representations.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Nanopass.Internal.Validate

Documentation

validateNonterm Source #

Arguments

:: Set UpName

known non-terminals

-> Map LowName (Name 'Valid LowName)

known type variables

-> Nonterm v 
-> Either Error (Nonterm 'Valid) 

validateProd Source #

Arguments

:: Set UpName

known non-terminals

-> Map LowName (Name 'Valid LowName)

known type variables

-> Production v 
-> Either Error (Production 'Valid) 

validateType Source #

Arguments

:: Set UpName

known non-terminals

-> Map LowName (Name 'Valid LowName)

known type variables

-> TypeDesc v 
-> Either Error (TypeDesc 'Valid)