package nars.config;
import nars.NAR;
import nars.operator.NullOperator;
import nars.operator.Operator;
import nars.operator.misc.Add;
import nars.operator.misc.Count;
import nars.operator.mental.Believe;
import nars.operator.mental.Consider;
import nars.operator.mental.Doubt;
import nars.operator.mental.Evaluate;
import nars.operator.mental.FeelBusy;
import nars.operator.mental.FeelHappy;
import nars.operator.mental.Hesitate;
import nars.operator.mental.Name;
import nars.operator.mental.Register;
import nars.operator.mental.Remind;
import nars.operator.mental.Want;
import nars.operator.mental.Wonder;
import nars.operator.misc.Reflect;
import nars.operator.misc.Javascript;
public class Operators {
/**
* Default set of Operator's for core functionality.
* An operator name should contain at least two characters after '^'.
*
*/
public static Operator[] get(NAR nar) {
Javascript js=new Javascript();
js.setEnabled(nar, true);
return new Operator[] {
//example operators
new NullOperator("^break"),
new NullOperator("^drop"),
new NullOperator("^go-to"),
new NullOperator("^open"),
new NullOperator("^pick"),
new NullOperator("^strike"),
new NullOperator("^throw"),
new NullOperator("^activate"),
new NullOperator("^deactivate"),
new NullOperator("^lighter"),
new NullOperator("^reshape"),
new NullOperator("^say"),
new NullOperator("^Right"),
new NullOperator("^Left"),
//new Wait(),
//new Wait(),
new NullOperator(),
new Believe(), // accept a statement with a default truth-value
new Want(), // accept a statement with a default desire-value
new Wonder(), // find the truth-value of a statement
new Evaluate(), // find the desire-value of a statement
//concept operations for internal perceptions
new Remind(), // create/activate a concept
new Consider(), // find the most active concept
new Name(), // turn a compount term into an atomic term
//new Abbreviate(),
new Register(),
// truth-value operations
new Doubt(), // decrease the confidence of a belief
new Hesitate(), // decrease the confidence of a goal
//Meta
new Reflect(),
// feeling operations
new FeelHappy(),
new FeelBusy(),
// math operations
new Count(),
new Add(),
// new MathExpression(),
js, // javascript evaluation
// new NumericCertainty()
/*
+ * I/O operations under consideration
+ * observe // get the most active input (Channel ID: optional?)
+ * anticipate // get the input matching a given statement with variables (Channel ID: optional?)
+ * tell // output a judgment (Channel ID: optional?)
+ * ask // output a question/quest (Channel ID: optional?)
+ * demand // output a goal (Channel ID: optional?)
+ */
// new Wait() // wait for a certain number of clock cycle
/*
* -think // carry out a working cycle
* -do // turn a statement into a goal
*
* possibility // return the possibility of a term
* doubt // decrease the confidence of a belief
* hesitate // decrease the confidence of a goal
*
* feel // the overall happyness, average solution quality, and predictions
* busy // the overall business
*
* do // to turn a judgment into a goal (production rule) ??
*
* count // count the number of elements in a set
* arithmatic // + - * /
* comparisons // < = >
* inference // binary inference
*
* -assume // local assumption ???
*
* observe // get the most active input (Channel ID: optional?)
* anticipate // get input of a certain pattern (Channel ID: optional?)
* tell // output a judgment (Channel ID: optional?)
* ask // output a question/quest (Channel ID: optional?)
* demand // output a goal (Channel ID: optional?)
* name // turn a compount term into an atomic term ???
* -??? // rememberAction the history of the system? excutions of operatons?
*/
};
}
}