return x + y;
}
+ap(f, x) { return f(x); }
+
+mapF(f, xs) {
+ if(isEmpty(xs)) {
+ return [];
+ } else {
+ return (ap(f, xs.hd)) : mapF(f, xs.tl);
+ }
+}
+
main(){
var x = 5;
var plus = \x y->x+y;
var g = map(plus, [1,2,3]);
+ var is = mapF(\f->f(1), g);
//var is = map(\f->f(1), g);
+ var p = g.hd;
+ var q = p(1);
//print("is.hd", is.hd);