gdp-0.0.0.2: 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) #

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 :: k1 #

type SetArg f n x :: k1 #

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

Defined in Theory.Equality

Associated Types

type GetArg (Equals x y) 1 :: k1 #

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

Argument (Equals x y :: *) 0 # 
Instance details

Defined in Theory.Equality

Associated Types

type GetArg (Equals x y) 0 :: k1 #

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

Argument (Either a b :: *) RHS # 
Instance details

Defined in Data.Arguments

Associated Types

type GetArg (Either a b) RHS :: k1 #

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

Argument (Either a b :: *) LHS # 
Instance details

Defined in Data.Arguments

Associated Types

type GetArg (Either a b) LHS :: k1 #

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

Argument (Equals x y :: *) RHS # 
Instance details

Defined in Theory.Equality

Associated Types

type GetArg (Equals x y) RHS :: k1 #

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

Argument (Equals x y :: *) LHS # 
Instance details

Defined in Theory.Equality

Associated Types

type GetArg (Equals x y) LHS :: k1 #

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

data LHS #

Position: the left-hand side of a type.

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

Defined in Data.Arguments

Associated Types

type GetArg (Either a b) LHS :: k1 #

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

Argument (Equals x y :: *) LHS # 
Instance details

Defined in Theory.Equality

Associated Types

type GetArg (Equals x y) LHS :: k1 #

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

type GetArg (Either a b :: *) LHS # 
Instance details

Defined in Data.Arguments

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

Defined in Theory.Equality

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

Defined in Data.Arguments

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

Defined in Theory.Equality

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

data RHS #

Position: the right-hand side of a type.

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

Defined in Data.Arguments

Associated Types

type GetArg (Either a b) RHS :: k1 #

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

Argument (Equals x y :: *) RHS # 
Instance details

Defined in Theory.Equality

Associated Types

type GetArg (Equals x y) RHS :: k1 #

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

type GetArg (Either a b :: *) RHS # 
Instance details

Defined in Data.Arguments

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

Defined in Theory.Equality

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

Defined in Data.Arguments

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

Defined in Theory.Equality

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

data Arg n #

A specialized proxy for arguments.

Constructors

Arg 

arg :: Arg n #

Inhabitant of the argument proxy.