From fd9def43d37bfa548f62915f62e5e6cb0a1dfcac Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Sun, 11 Feb 2018 19:58:20 -0400 Subject: - Re-named lux/type/object to lux/type/object/interface. --- stdlib/test/test/lux/type/object.lux | 83 -------------------------- stdlib/test/test/lux/type/object/interface.lux | 83 ++++++++++++++++++++++++++ stdlib/test/tests.lux | 2 +- 3 files changed, 84 insertions(+), 84 deletions(-) delete mode 100644 stdlib/test/test/lux/type/object.lux create mode 100644 stdlib/test/test/lux/type/object/interface.lux (limited to 'stdlib/test') diff --git a/stdlib/test/test/lux/type/object.lux b/stdlib/test/test/lux/type/object.lux deleted file mode 100644 index 7ca601792..000000000 --- a/stdlib/test/test/lux/type/object.lux +++ /dev/null @@ -1,83 +0,0 @@ -(.module: - lux - (lux (data (coll [list])) - (type object))) - -## No parameters -(interface: Counter - (inc [] @) - (read [] Nat)) - -(class: NatC Counter - Nat - - (def: inc - (update@Counter n/inc)) - - (def: read - get@Counter)) - -(interface: Resettable-Counter - #super Counter - (reset [] @)) - -(class: NatRC Resettable-Counter - #super NatC - Unit - - (def: reset - (set@Counter +0))) - -## With parameters -(interface: (Collection a) - (add [a] @) - (size [] Nat)) - -(class: (ListC a) (Collection a) - (List a) - - (def: (add elem) - (update@Collection (|>> (#.Cons elem)))) - - (def: size - (|>> get@Collection list.size))) - -(interface: (Iterable a) - #super (Collection a) - (enumerate [] (List a))) - -(class: (ListI a) (Iterable a) - #super (ListC a) - Unit - - (def: enumerate - get@Collection)) - -## Polymorphism -(def: (poly0 counter) - (-> Counter Nat) - (read counter)) - -(def: poly0-0 Nat (poly0 (new@NatC +0))) -(def: poly0-1 Nat (poly0 (new@NatRC +0 []))) - -(def: (poly1 counter) - (-> Resettable-Counter Nat) - (n/+ (read counter) - (read (reset counter)))) - -(def: poly1-0 Nat (poly1 (new@NatRC +0 []))) - -(def: (poly2 counter) - (-> NatC Nat) - (read counter)) - -(def: poly2-0 Nat (poly2 (new@NatC +0))) -(def: poly2-1 Nat (poly2 (new@NatRC +0 []))) - -(def: (poly3 counter) - (-> NatRC Nat) - (n/+ (read counter) - (read (reset counter)))) - -(def: poly3-0 Nat (poly3 (new@NatRC +0 []))) diff --git a/stdlib/test/test/lux/type/object/interface.lux b/stdlib/test/test/lux/type/object/interface.lux new file mode 100644 index 000000000..a296d9558 --- /dev/null +++ b/stdlib/test/test/lux/type/object/interface.lux @@ -0,0 +1,83 @@ +(.module: + lux + (lux (data (coll [list])) + (type (object interface)))) + +## No parameters +(interface: Counter + (inc [] @) + (read [] Nat)) + +(class: NatC Counter + Nat + + (def: inc + (update@Counter n/inc)) + + (def: read + get@Counter)) + +(interface: Resettable-Counter + #super Counter + (reset [] @)) + +(class: NatRC Resettable-Counter + #super NatC + Unit + + (def: reset + (set@Counter +0))) + +## With parameters +(interface: (Collection a) + (add [a] @) + (size [] Nat)) + +(class: (ListC a) (Collection a) + (List a) + + (def: (add elem) + (update@Collection (|>> (#.Cons elem)))) + + (def: size + (|>> get@Collection list.size))) + +(interface: (Iterable a) + #super (Collection a) + (enumerate [] (List a))) + +(class: (ListI a) (Iterable a) + #super (ListC a) + Unit + + (def: enumerate + get@Collection)) + +## Polymorphism +(def: (poly0 counter) + (-> Counter Nat) + (read counter)) + +(def: poly0-0 Nat (poly0 (new@NatC +0))) +(def: poly0-1 Nat (poly0 (new@NatRC +0 []))) + +(def: (poly1 counter) + (-> Resettable-Counter Nat) + (n/+ (read counter) + (read (reset counter)))) + +(def: poly1-0 Nat (poly1 (new@NatRC +0 []))) + +(def: (poly2 counter) + (-> NatC Nat) + (read counter)) + +(def: poly2-0 Nat (poly2 (new@NatC +0))) +(def: poly2-1 Nat (poly2 (new@NatRC +0 []))) + +(def: (poly3 counter) + (-> NatRC Nat) + (n/+ (read counter) + (read (reset counter)))) + +(def: poly3-0 Nat (poly3 (new@NatRC +0 []))) diff --git a/stdlib/test/tests.lux b/stdlib/test/tests.lux index 98044e7d1..b59e8008a 100644 --- a/stdlib/test/tests.lux +++ b/stdlib/test/tests.lux @@ -69,7 +69,7 @@ (poly ["poly_." eq] ["poly_." functor])) (type ["_." implicit] - ["_." object] + (object ["_." interface]) ["_." resource]) (lang ["lang/_." syntax] ["_." type] -- cgit v1.2.3