Merge pull request #77 from jfmengels/map-n-replacements

Add replacements for List.mapN functions
This commit is contained in:
Matthew Griffith 2022-02-06 12:13:48 -05:00 committed by GitHub
commit a2aaa149fd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 40 additions and 0 deletions

View File

@ -0,0 +1,10 @@
var _List_map2 = F3(function(f, xs, ys) {
var tmp = _List_Cons(undefined, _List_Nil);
var end = tmp;
for (; xs.b && ys.b; xs = xs.b, ys = ys.b) {
var next = _List_Cons(A2(f, xs.a, ys.a), _List_Nil);
end.b = next;
end = next;
}
return tmp.b;
});

View File

@ -0,0 +1,10 @@
var _List_map3 = F4(function(f, xs, ys, zs) {
var tmp = _List_Cons(undefined, _List_Nil);
var end = tmp;
for (; xs.b && ys.b && zs.b; xs = xs.b, ys = ys.b, zs = zs.b) {
var next = _List_Cons(A3(f, xs.a, ys.a, zs.a), _List_Nil);
end.b = next;
end = next;
}
return tmp.b;
});

View File

@ -0,0 +1,10 @@
var _List_map4 = F5(function(f, ws, xs, ys, zs) {
var tmp = _List_Cons(undefined, _List_Nil);
var end = tmp;
for (; ws.b && xs.b && ys.b && zs.b; ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) {
var next = _List_Cons(A4(f, ws.a, xs.a, ys.a, zs.a), _List_Nil);
end.b = next;
end = next;
}
return tmp.b;
});

View File

@ -0,0 +1,10 @@
var _List_map5 = F6(function(f, vs, ws, xs, ys, zs) {
var tmp = _List_Cons(undefined, _List_Nil);
var end = tmp;
for (; vs.b && ws.b && xs.b && ys.b && zs.b; vs = vs.b, ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) {
var next = _List_Cons(A5(f, vs.a, ws.a, xs.a, ys.a, zs.a), _List_Nil);
end.b = next;
end = next;
}
return tmp.b;
});