Due to issues with the Internet.ee domain registry, our main domain, paste.ee, is currently disabled due to abuse reports. We are looking into alternative domains to continue operation, but for now the pastee.dev domain is the primary domain.
If you wish to blame someone, blame the scum using this site as a malware host.
Submitted on April 5, 2013 at 05:00 PM

Section 1 (Diff)

From 94e70d8962b62c0aa45c2a863e9514bfa0ea202d Mon Sep 17 00:00:00 2001
From: Timo Paulssen <timonator@perpetuum-immobile.de>
Date: Fri, 5 Apr 2013 18:58:58 +0200
Subject: [PATCH] start reflecting hyperop recursion specchange.

---
 S03-metaops/hyper.t |   72 ++++++++++++++++++---------------------------------
 1 file changed, 25 insertions(+), 47 deletions(-)

diff --git a/S03-metaops/hyper.t b/S03-metaops/hyper.t
index 248f087..c0f90d8 100644
--- a/S03-metaops/hyper.t
+++ b/S03-metaops/hyper.t
@@ -265,72 +265,50 @@ my @e;
        is(~@r, ~@e, "hyper-method-call on list of user-defined objects");
 };
 
-{ # distribution for unary prefix
+{ # unary prefix: map semantics rather than recursive semantics
         my @r;
         @r = -« ([1, 2], [3, [4, 5]]);
-        my @e = ([-1, -2], [-3, [-4, -5]]);
-        is(~@r, ~@e, "distribution for unary prefix");
-        is_deeply(@r, @e, "distribution for unary prefix, deep comparison");
-
-        @r = -<< ([1, 2], [3, [4, 5]]);
-        @e = ([-1, -2], [-3, [-4, -5]]);
-        is(~@r, ~@e, "distribution for unary prefix, ASCII");
-        is_deeply(@r, @e, "distribution for unary prefix, ASCII, deep comparison");
-};
-
-{ # distribution for unary postfix autoincrement
-        my @r;
-        @r = ([1, 2], [3, [4, 5]]);
-        is_deeply(@r, @e, "distribution for binary infix, same shape, ASCII, deep comparison");
+        my @e = (5, 7, 4);
+        is(~@r, ~@e, "nondistribution for binary infix, same shape, ASCII");
+        is_deeply(@r, @e, "nondistribution for binary infix, same shape, ASCII, deep comparison");
 
-        @r = (1, 2, [3, 4]) >>+>> (5, 6, 7);
-        @e = (6, 8, [10, 11]);
-        is(~@r, ~@e, "distribution for binary infix, dimension upgrade, ASCII");
-        is_deeply(@r, @e, "distribution for binary infix, dimension upgrade, ASCII, deep comparison");
+        @r = (1, 2, [3, 4], [1, 2, 3]) >>+>> (5, 6, 7);
+        @e = (6, 8, 9, 8);
+        is(~@r, ~@e, "nondistribution for binary infix, deprecated dimension upgrade, ASCII");
+        is_deeply(@r, @e, "nondistribution for binary infix, deprecated dimension upgrade, ASCII, deep comparison");
 
         @r = ([1, 2], 3) <<+>> (4, [5, 6]);
-        @e = ([5, 6], [8, 9]);
-        is(~@r, ~@e, "distribution for binary infix, S03 cross-upgrade, ASCII");
-        is_deeply(@r, @e, "distribution for binary infix, S03 cross-upgrade, ASCII, deep comparison");
+        @e = (6, 5);
+        is(~@r, ~@e, "nondistribution for binary infix, S03 deprecated cross-upgrade, ASCII");
+        is_deeply(@r, @e, "nondistribution for binary infix, S03 deprecated cross-upgrade, ASCII, deep comparison");
 };
 
 #?DOES 3
 { # distribution for binary infix - unicode
         my @r;
         @r = (1, 2, [3, 4]) »+« (4, 5, [6, 7]);
-        my @e = (5, 7, [9, 11]);
-        is(~@r, ~@e, "distribution for binary infix, same shape");
-        is_deeply(@r, @e, "distribution for binary infix, same shape, deep comparison");
+        my @e = (5, 7, 4);
+        is(~@r, ~@e, "nondistribution for binary infix, same shape");
+        is_deeply(@r, @e, "nondistribution for binary infix, same shape, deep comparison");
 
-        @r = (1, 2, [3, 4]) »+» (5, 6, 7);
-        @e = (6, 8, [10, 11]);
-        is(~@r, ~@e, "distribution for binary infix, dimension upgrade");
-        is_deeply(@r, @e, "distribution for binary infix, dimension upgrade, deep comparison");
+        @r = (1, 2, [3, 4], [1, 2, 3]) »+» (5, 6, 7);
+        @e = (6, 8, 9, 8);
+        is(~@r, ~@e, "nondistribution for binary infix, deprecated dimension upgrade");
+        is_deeply(@r, @e, "nondistribution for binary infix, deprecated dimension upgrade, deep comparison");
 
         @r = ([1, 2], 3) «+» (4, [5, 6]);
-        @e = ([5, 6], [8, 9]);
-        is(~@r, ~@e, "distribution for binary infix, S03 cross-upgrade");
-        is_deeply(@r, @e, "distribution for binary infix, S03 cross-upgrade, deep comparison");
+        @e = (6, 5);
+        is(~@r, ~@e, "nondistribution for binary infix, S03 deprecated cross-upgrade");
+        is_deeply(@r, @e, "nondistribution for binary infix, S03 deprecated cross-upgrade, deep comparison");
 };
 
 { # regression test, ensure that hyper works on arrays
-- 
1.7.10.4