| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
AST.Term.Let
Synopsis
- data Let v expr k = Let {- _letVar :: v
- _letEquals :: k # expr
- _letIn :: k # expr
 
- letVar :: forall v expr k v. Lens (Let v expr k) (Let v expr k) v v
- letEquals :: forall v expr k. Lens' (Let v expr k) ((#) k expr)
- letIn :: forall v expr k. Lens' (Let v expr k) ((#) k expr)
- data family KWitness k :: (Knot -> Type) -> Type
Documentation
A term for let-expressions with let-generalization.
Let v exprs express let-expressions with vs as variable names and exprs for terms.
Apart from the data type, an Infer instance is also provided.
Instances
data family KWitness k :: (Knot -> Type) -> Type Source #
KWitness k n is a witness that n is a node of k