NativeEnvironment constructor
NativeEnvironment([
- Environment? owner
Implementation
NativeEnvironment([super.owner]) {
// basic functions
define(Name('define'), _define);
define(Name('lambda'), _lambda);
define(Name('quote'), _quote);
define(Name('eval'), _eval);
define(Name('apply'), _apply);
define(Name('let'), _let);
define(Name('set!'), _set);
define(Name('print'), _print);
// control structures
define(Name('if'), _if);
define(Name('while'), _while);
define(Name('and'), _and);
define(Name('or'), _or);
define(Name('not'), _not);
// arithmetic operators
define(Name('+'), _plus);
define(Name('-'), _minus);
define(Name('*'), _multiply);
define(Name('/'), _divide);
define(Name('%'), _modulo);
// arithmetic comparators
define(Name('<'), _smaller);
define(Name('<='), _smallerOrEqual);
define(Name('='), _equal);
define(Name('!='), _notEqual);
define(Name('>'), _larger);
define(Name('>='), _largerOrEqual);
// list operators
define(Name('cons'), _cons);
define(Name('car'), _car);
define(Name('car!'), _carSet);
define(Name('cdr'), _cdr);
define(Name('cdr!'), _cdrSet);
}