C# Class Prolog.Metastructure

Afficher le fichier Open project: ianhorswill/UnityProlog Class Usage Examples

Méthodes publiques

Свойство Type Description
Context PrologContext

Private Properties

Свойство Type Description
CombineGoals Structure
MakeSuspension Metastructure
Prover IEnumerable

Méthodes publiques

Méthode 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

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

Method Details

MetaMetaUnify() public méthode

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.
Résultat Metastructure

MetaMetaUnify() public méthode

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.
Résultat Metastructure

MetaTermUnify() public méthode

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.
Résultat IEnumerable

MetaTermUnify() public méthode

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.
Résultat void

MetaVarUnify() public méthode

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.
Résultat Metastructure

MetaVarUnify() public méthode

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.
Résultat Metastructure

Metastructure() public méthode

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.
Résultat System

Metastructure() public méthode

public Metastructure ( Structure delayedGoal, Structure frozenGoal, PrologContext prologContext, Metastructure old ) : System
delayedGoal Structure
frozenGoal Structure
prologContext PrologContext
old Metastructure
Résultat 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
Résultat PrologContext