Differences From Artifact [f71ff7dc6628e423]:
- File
polemy/runtime.d
- 2010-11-25 03:32:41 - part of checkin [474c4facf0] on branch trunk - Introduced makefile to build documents. sample/macro.pmy is fully reformed. print(x) now returns x, not 0. (user: kinaba) [annotate]
To Artifact [d6bfebbae7e5dfaf]:
- File
polemy/runtime.d
- 2010-11-27 11:46:26 - part of checkin [203e4cb208] on branch trunk - fixed automatic memoization bug (whole part of the contexts are now used as the memo key) (user: kinaba) [annotate]
57 e.addPrimitive("_isint", ValueLayer, 57 e.addPrimitive("_isint", ValueLayer,
58 (Value v){return new IntValue(cast(IntValue)v !is null);} ); 58 (Value v){return new IntValue(cast(IntValue)v !is null);} );
59 e.addPrimitive("_isstr", ValueLayer, 59 e.addPrimitive("_isstr", ValueLayer,
60 (Value v){return new IntValue(cast(StrValue)v !is null);} ); 60 (Value v){return new IntValue(cast(StrValue)v !is null);} );
61 e.addPrimitive("_isfun", ValueLayer, 61 e.addPrimitive("_isfun", ValueLayer,
62 (Value v){return new IntValue(cast(FunValue)v !is null);} ); 62 (Value v){return new IntValue(cast(FunValue)v !is null);} );
63 e.addPrimitive("_isundefined", ValueLayer, 63 e.addPrimitive("_isundefined", ValueLayer,
64 (Value v){return new IntValue(cast(UndefinedValue)v !is null);} | 64 (Value v){return new IntValue(cast(BottomValue)v !is null);} );
65 e.addPrimitive("_istable", ValueLayer, 65 e.addPrimitive("_istable", ValueLayer,
66 (Value v){return new IntValue(cast(Table)v !is null);} ); 66 (Value v){return new IntValue(cast(Table)v !is null);} );
67 // table 67 // table
68 e.addPrimitive(".", ValueLayer, (Table t, StrValue s){ 68 e.addPrimitive(".", ValueLayer, (Table t, StrValue s){
69 if( t.has(s.data, ValueLayer) ) 69 if( t.has(s.data, ValueLayer) )
70 return t.get(s.data, ValueLayer); 70 return t.get(s.data, ValueLayer);
71 throw genex!RuntimeException(text("table do not have the field " 71 throw genex!RuntimeException(text("table do not have the field "