C# Class Prolog.Metastructure

Datei anzeigen Open project: ianhorswill/UnityProlog Class Usage Examples

Public Properties

Property Type Description
Context PrologContext

Private Properties

Property Type Description
CombineGoals Structure
MakeSuspension Metastructure
Prover IEnumerable

Public Methods

Method Description
MetaMetaUnify ( Metastructure value, IEnumerable &filter ) : Metastructure

Merge the information from two Metastructures into one new metastructure.

MetaMetaUnify ( Metastructure theirMetaStructure, PrologContext context ) : Metastructure

Merge the information from two Metastructures into one new metastructure.

MetaTermUnify ( object value ) : IEnumerable

Called after the variable bound to this Metastructure is unified with a non-variable term.

MetaTermUnify ( object value, PrologContext contextOfBinding ) : void

Called after the variable bound to this Metastructure is unified with a non-variable term.

MetaVarUnify ( LogicVariable them, IEnumerable &filter ) : Metastructure

Called after the variable bound to this Metastructure is unified with an unbound variable that is not (itself) bound to a Metastructure.

MetaVarUnify ( LogicVariable l, PrologContext context ) : Metastructure

Called after the variable bound to this Metastructure is unified with an unbound variable that is not (itself) bound to a Metastructure.

Metastructure ( Structure delayedGoal, Structure frozenGoal, PrologContext prologContext ) : System

Create a new set of suspended goals.

Metastructure ( Structure delayedGoal, Structure frozenGoal, PrologContext prologContext, Metastructure old ) : System

Private Methods

Method Description
CombineGoals ( Structure goal1, Structure goal2 ) : Structure
MakeSuspension ( Structure delayed, Structure frozen ) : Metastructure
Prover ( Structure goal ) : IEnumerable

Method Details

MetaMetaUnify() public method

Merge the information from two Metastructures into one new metastructure.
public MetaMetaUnify ( Metastructure value, IEnumerable &filter ) : Metastructure
value Metastructure The Metastructure to merge with.
filter IEnumerable Test for whether the merging succeeded. Generally a woken goal.
return Metastructure

MetaMetaUnify() public method

Merge the information from two Metastructures into one new metastructure.
public MetaMetaUnify ( Metastructure theirMetaStructure, PrologContext context ) : Metastructure
theirMetaStructure Metastructure The Metastructure to merge with.
context PrologContext Context in which to execute suspended goals.
return Metastructure

MetaTermUnify() public method

Called after the variable bound to this Metastructure is unified with a non-variable term.
public MetaTermUnify ( object value ) : IEnumerable
value object The term to which to unify.
return IEnumerable

MetaTermUnify() public method

Called after the variable bound to this Metastructure is unified with a non-variable term.
public MetaTermUnify ( object value, PrologContext contextOfBinding ) : void
value object The term to which to unify
contextOfBinding PrologContext Context in which to execute suspended goals.
return void

MetaVarUnify() public method

Called after the variable bound to this Metastructure is unified with an unbound variable that is not (itself) bound to a Metastructure.
public MetaVarUnify ( LogicVariable them, IEnumerable &filter ) : Metastructure
them LogicVariable The logic variable with which to unify
filter IEnumerable Test for whether the merging succeeded. Generally a woken goal.
return Metastructure

MetaVarUnify() public method

Called after the variable bound to this Metastructure is unified with an unbound variable that is not (itself) bound to a Metastructure.
public MetaVarUnify ( LogicVariable l, PrologContext context ) : Metastructure
l LogicVariable The logic variable with which to Unify.
context PrologContext Context in which to execute suspended goals.
return Metastructure

Metastructure() public method

Create a new set of suspended goals.
public Metastructure ( Structure delayedGoal, Structure frozenGoal, PrologContext prologContext ) : System
delayedGoal Structure Goal to run upon unification with any value.
frozenGoal Structure Goal to run upon unification with a non-variable term.
prologContext PrologContext Context in which to run goals.
return System

Metastructure() public method

public Metastructure ( Structure delayedGoal, Structure frozenGoal, PrologContext prologContext, Metastructure old ) : System
delayedGoal Structure
frozenGoal Structure
prologContext PrologContext
old Metastructure
return System

Property Details

Context public_oe property

Prolog context in which the goals were suspended. Logic variables (and hence meta structures) should never be shared across contexts without term copying.
public PrologContext,Prolog Context
return PrologContext