pdrt-sandbox-0.1.1: (Projective) Discourse Representation Theory
Copyright(c) Harm Brouwer and Noortje Venhuizen
LicenseApache-2.0
Maintainerme@hbrouwer.eu, n.j.venhuizen@rug.nl
Stabilityprovisional
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell98

Data.PDRS.LambdaCalculus

Description

PDRS lambda calculus; alpha conversion, beta reduction, function composition, and `PDRS purification'

Synopsis

Exported

Type classes

class PDRSAtom a #

Type class for a PDRSAtom, which is either a PDRS or a PDRSRef.

Instances

Instances details
PDRSAtom PDRS # 
Instance details

Defined in Data.PDRS.LambdaCalculus

PDRSAtom PDRSRef # 
Instance details

Defined in Data.PDRS.LambdaCalculus

class AbstractPDRS a #

Type class for an AbstractPDRS, which is either a resolved PDRS, or an unresolved PDRS that takes a PDRSAtom and yields an AbstractPDRS.

Instances

Instances details
AbstractPDRS PDRS # 
Instance details

Defined in Data.PDRS.LambdaCalculus

(PDRSAtom a, AbstractPDRS b) => AbstractPDRS (a -> b) # 
Instance details

Defined in Data.PDRS.LambdaCalculus

Alpha Conversion

pdrsAlphaConvert :: PDRS -> [(PVar, PVar)] -> [(PDRSRef, PDRSRef)] -> PDRS #

Applies alpha conversion to a PDRS on the basis of conversion lists for PVars and PDRSRefs.

Beta Reduction

pdrsBetaReduce :: (AbstractPDRS a, PDRSAtom b) => (b -> a) -> b -> a #

Apply beta reduction on an AbstractPDRS with a PDRSAtom.

(<<@>>) :: (AbstractPDRS a, PDRSAtom b) => (b -> a) -> b -> a #

Infix notation for pdrsBetaReduce.

Function Composition

pdrsFunctionCompose :: (b -> c) -> (a -> b) -> a -> c #

Apply function composition to two 'unresolved PDRS's, yielding a new 'unresolved PDRS'.

(<<.>>) :: (b -> c) -> (a -> b) -> a -> c #

Infix notation for pdrsFunctionCompose.

PDRS Purification

pdrsPurify :: PDRS -> PDRS #

Converts a PDRS into a pure PDRS by first purifying its projection variables, and then purifying its projected referents, where:

A PDRS is pure iff:
  • There are no occurrences of duplicate, unbound uses of the same variable (PVar or PDRSRef).

Private

PDRS renaming

Purifying PVars

Purifying PRefs