Differences From Artifact [3d0cc7f551924493]:
- File
polemy/value.d
- 2010-11-26 05:03:10 - part of checkin [207cea338a] on branch trunk - changed hiding mechanizem of x in let x = ... for @macro layer. Old: set(x,ValueLayer,undefined) Nee: set(x,NoopLayer,null) (user: kinaba) [annotate]
To Artifact [37c7b437fe230ee4]:
- File
polemy/value.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]
48 if(auto r = cast(Value)rhs) return typeid(this).opCmp(typeid( 48 if(auto r = cast(Value)rhs) return typeid(this).opCmp(typeid(
49 throw genex!RuntimeException("comparison with value and somithin 49 throw genex!RuntimeException("comparison with value and somithin
50 } 50 }
51 mixin SimpleToHash; 51 mixin SimpleToHash;
52 } 52 }
53 53
54 /// 54 ///
55 class UndefinedValue : Value | 55 class BottomValue : Value
56 { 56 {
57 mixin SimpleConstructor; 57 mixin SimpleConstructor;
58 override string toString() const { return "<undefined>"; } | 58 override string toString() const { return "_|_"; }
59 override int opCmp(Object rhs) { 59 override int opCmp(Object rhs) {
60 if(auto r = cast(StrValue)rhs) return 0; 60 if(auto r = cast(StrValue)rhs) return 0;
61 if(auto r = cast(Value)rhs) return typeid(this).opCmp(typeid( 61 if(auto r = cast(Value)rhs) return typeid(this).opCmp(typeid(
62 throw genex!RuntimeException("comparison with value and somithin 62 throw genex!RuntimeException("comparison with value and somithin
63 } 63 }
64 mixin SimpleToHash; 64 mixin SimpleToHash;
65 } 65 }