cryptol-2.2.6: Cryptol: The Language of Cryptography

Copyright | (c) 2013-2015 Galois, Inc.
License | BSD3
Maintainer | cryptol@galois.com
Stability | provisional
Portability | portable
Safe Haskell | Safe
Language | Haskell98

Cryptol.Parser.NoPat

Description

The purpose of this module is to convert all patterns to variable patterns. It also eliminates pattern bindings by de-sugaring them into `Bind`. Furthermore, here we associate signatures and pragmas with the names to which they belong.

# Documentation

class RemovePatterns t where Source

Methods

removePatterns :: t -> (t, [Error]) Source

Eliminate all patterns in a program.

Instances

RemovePatterns Expr Source |
RemovePatterns Module Source |
RemovePatterns Program Source |
RemovePatterns [Decl] Source |

data Error Source

Constructors

MultipleSignatures QName [Located Schema] |
SignatureNoBind (Located QName) Schema |
PragmaNoBind (Located QName) Pragma |

Instances

Show Error Source |
PP Error Source |