@@ -56,14 +56,19 @@ Elm.Native.Show = function(elm) {
56 } else if ('ctor' in v) {
56 } else if ('ctor' in v) {
57 if (v.ctor.substring(0,5) === "Tuple") {
57 if (v.ctor.substring(0,5) === "Tuple") {
58 var output = [];
58 var output = [];
60+ if (k === 'ctor') continue;
59− for (var k in v) { if (k === 'ctor') continue; output.push(toString(v[k])); }
61+ output.push(toString(v[k]));
60 return "(" + output.join(",") + ")";
63 return "(" + output.join(",") + ")";
61 } else if (v.ctor === "Cons") {
64 } else if (v.ctor === "Cons") {
62− var isStr = typeof v._0 === "string";
65+ var isStr = typeof v._0 === "string",
63− var start = isStr ? '"' : "[";
66+ start = isStr ? '"' : "[",
64− var end = isStr ? '"' : "]";
67+ end = isStr ? '"' : "]",
65− var sep = isStr ? "" : ",";
68+ sep = isStr ? "" : ",",
66− var f = isStr ? function(x){return x} : toString;
69+ f = !isStr ? toString : function(x){
70+ return x === '\n' ? '\\n' : x;
67 var output = start + f(v._0);
72 var output = start + f(v._0);
69 while (v.ctor === "Cons") {
74 while (v.ctor === "Cons") {