@@ -223,6 +223,49 @@ Elm.Native.List = function(elm) {
223 return xs;
223 return xs;
226+ function join(sep, xss) {
227+ if (xss.ctor === 'Nil') return {ctor:'Nil'}
228+ var s = toArray(sep);
229+ var out = toArray(xss._0);
231+ while (xss.ctor === "Cons") {
232+ out += s + toArray(xss._0);
234+ return fromArray(out);
237+ function split(sep, xs) {
238+ var out = {ctor:'Nil'};
239+ var array = toArray(xs);
240+ var s = toArray(sep);
241+ var slen = s.length;
243+ for (var i = array.length; i--; ) {
244+ out = Cons(Cons(array[i],Nil), out);
248+ var temp = {ctor:'Nil'};
249+ for (var i = array.length - slen; i >= 0; --i) {
251+ for (var j = slen; j--; ) {
252+ if (!Utils.eq(array[i+j], s[j])) { match = false; break; }
255+ out = {ctor:'Cons', _0:temp, _1:out};
256+ temp = {ctor:'Nil'};
259+ temp = {ctor:'Cons', _0:array[i+j], _1:temp};
262+ for (var j = slen-1; j--; ) {
263+ temp = {ctor:'Cons', _0:array[j], _1:temp};
265+ out = {ctor:'Cons', _0:temp, _1:out};
226 return elm.Native.List = {
269 return elm.Native.List = {
228 Cons:Cons,
271 Cons:Cons,
@@ -255,7 +298,10 @@ Elm.Native.List = function(elm) {
255 zip:F2(zip),
298 zip:F2(zip),
256 sort:sort,
299 sort:sort,
257 take:F2(take),
300 take:F2(take),
258− drop:F2(drop)
301+ drop:F2(drop),