hpython-0.2: Python language tools

Copyright(C) CSIRO 2017-2019
LicenseBSD3
MaintainerIsaac Elliott <isaace71295@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Language.Python.Validate

Description

 
Synopsis

Documentation

validateAll Source #

Arguments

:: (AsIndentationError e a, AsSyntaxError e a, AsScopeError e a) 
=> (s '[] a -> ValidateIndentation e (s '[Indentation] a))

Indentation validator

-> (s '[Indentation] a -> ValidateSyntax e (s '[Syntax, Indentation] a))

Syntax validator

-> (s '[Syntax, Indentation] a -> ValidateScope a e (s '[Scope, Syntax, Indentation] a))

Scope validator

-> s '[] a 
-> Validation (NonEmpty e) (s '[Scope, Syntax, Indentation] a) 

Validate a datatype for indentation, syntax, and scope correctness

e.g.

validateModuleAll =
  validateAll
    validateModuleIndentation
    validateModuleSyntax
    validateModuleScope