Surprise! We've been running on hardware provided by BuyVM for a few months and wanted to show them a little appreciation.
Running a paste site comes with unique challenges, ones that aren't always obvious and hard to control. As such, BuyVM offered us a home where we could worry less about the hosting side of things and focus on maintaining a clean and useful service! Go check them out and show them some love!
Submitted on April 5, 2013 at 05:00 PM

Section 1 (Diff)

From 94e70d8962b62c0aa45c2a863e9514bfa0ea202d Mon Sep 17 00:00:00 2001
From: Timo Paulssen <[email protected]>
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