gdp-0.0.3.0: Reason about invariants and preconditions with ghosts of departed proofs.

Copyright(c) Matt Noonan 2018
LicenseBSD-style
Maintainermatt.noonan@gmail.com
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Data.Arguments

Description

 
Synopsis

Documentation

class Argument (f :: k1) (n :: k2) Source #

Get or modify a type within a larger type. This is entirely a type-level operation, there is nothing corresponding to a value access or update.

Associated Types

type GetArg f n :: k Source #

type SetArg f n x :: k1 Source #

Instances
Argument (Equals x y :: Type) 1 Source # 
Instance details

Defined in Theory.Equality

Associated Types

type GetArg (Equals x y) 1 :: k Source #

type SetArg (Equals x y) 1 x :: k1 Source #

Argument (Equals x y :: Type) 0 Source # 
Instance details

Defined in Theory.Equality

Associated Types

type GetArg (Equals x y) 0 :: k Source #

type SetArg (Equals x y) 0 x :: k1 Source #

Argument (Either a b :: Type) RHS Source # 
Instance details

Defined in Data.Arguments

Associated Types

type GetArg (Either a b) RHS :: k Source #

type SetArg (Either a b) RHS x :: k1 Source #

Argument (Either a b :: Type) LHS Source # 
Instance details

Defined in Data.Arguments

Associated Types

type GetArg (Either a b) LHS :: k Source #

type SetArg (Either a b) LHS x :: k1 Source #

Argument (Equals x y :: Type) RHS Source # 
Instance details

Defined in Theory.Equality

Associated Types

type GetArg (Equals x y) RHS :: k Source #

type SetArg (Equals x y) RHS x :: k1 Source #

Argument (Equals x y :: Type) LHS Source # 
Instance details

Defined in Theory.Equality

Associated Types

type GetArg (Equals x y) LHS :: k Source #

type SetArg (Equals x y) LHS x :: k1 Source #

data LHS Source #

Position: the left-hand side of a type.

Instances
Argument (Either a b :: Type) LHS Source # 
Instance details

Defined in Data.Arguments

Associated Types

type GetArg (Either a b) LHS :: k Source #

type SetArg (Either a b) LHS x :: k1 Source #

Argument (Equals x y :: Type) LHS Source # 
Instance details

Defined in Theory.Equality

Associated Types

type GetArg (Equals x y) LHS :: k Source #

type SetArg (Equals x y) LHS x :: k1 Source #

type GetArg (Equals x y :: Type) LHS Source # 
Instance details

Defined in Theory.Equality

type GetArg (Equals x y :: Type) LHS = x
type GetArg (Either a b :: Type) LHS Source # 
Instance details

Defined in Data.Arguments

type GetArg (Either a b :: Type) LHS = a
type SetArg (Either a b :: Type) LHS a' Source # 
Instance details

Defined in Data.Arguments

type SetArg (Either a b :: Type) LHS a' = Either a' b
type SetArg (Equals x y :: Type) LHS x' Source # 
Instance details

Defined in Theory.Equality

type SetArg (Equals x y :: Type) LHS x' = Equals x' y

data RHS Source #

Position: the right-hand side of a type.

Instances
Argument (Either a b :: Type) RHS Source # 
Instance details

Defined in Data.Arguments

Associated Types

type GetArg (Either a b) RHS :: k Source #

type SetArg (Either a b) RHS x :: k1 Source #

Argument (Equals x y :: Type) RHS Source # 
Instance details

Defined in Theory.Equality

Associated Types

type GetArg (Equals x y) RHS :: k Source #

type SetArg (Equals x y) RHS x :: k1 Source #

type GetArg (Equals x y :: Type) RHS Source # 
Instance details

Defined in Theory.Equality

type GetArg (Equals x y :: Type) RHS = y
type GetArg (Either a b :: Type) RHS Source # 
Instance details

Defined in Data.Arguments

type GetArg (Either a b :: Type) RHS = b
type SetArg (Either a b :: Type) RHS b' Source # 
Instance details

Defined in Data.Arguments

type SetArg (Either a b :: Type) RHS b' = Either a b'
type SetArg (Equals x y :: Type) RHS y' Source # 
Instance details

Defined in Theory.Equality

type SetArg (Equals x y :: Type) RHS y' = Equals x y'

data Arg n Source #

A specialized proxy for arguments.

Constructors

Arg 

arg :: Arg n Source #

Inhabitant of the argument proxy.