Fix join and fix show

This commit is contained in:
evancz 2013-03-17 13:42:13 -07:00
parent 6bcf63a0d8
commit 9c74b8697d
2 changed files with 13 additions and 7 deletions

View file

@ -229,7 +229,8 @@ Elm.Native.List = function(elm) {
var out = toArray(xss._0);
xss = xss._1;
while (xss.ctor === "Cons") {
out += s + toArray(xss._0);
out = out.concat(s, toArray(xss._0));
xss = xss._1;
}
return fromArray(out);
}

View file

@ -56,14 +56,19 @@ Elm.Native.Show = function(elm) {
} else if ('ctor' in v) {
if (v.ctor.substring(0,5) === "Tuple") {
var output = [];
for (var k in v) { if (k === 'ctor') continue; output.push(toString(v[k])); }
for (var k in v) {
if (k === 'ctor') continue;
output.push(toString(v[k]));
}
return "(" + output.join(",") + ")";
} else if (v.ctor === "Cons") {
var isStr = typeof v._0 === "string";
var start = isStr ? '"' : "[";
var end = isStr ? '"' : "]";
var sep = isStr ? "" : ",";
var f = isStr ? function(x){return x} : toString;
var isStr = typeof v._0 === "string",
start = isStr ? '"' : "[",
end = isStr ? '"' : "]",
sep = isStr ? "" : ",",
f = !isStr ? toString : function(x){
return x === '\n' ? '\\n' : x;
};
var output = start + f(v._0);
v = v._1;
while (v.ctor === "Cons") {