|
|
@ -1298,18 +1298,17 @@ language printLang = C; |
|
|
|
oop outputProgram= 0; |
|
|
|
|
|
|
|
oop mapFunction(oop func, oop args) { |
|
|
|
println(args); |
|
|
|
oop mapValue = makeMap(); |
|
|
|
oop argsObj = eval(globals, args); |
|
|
|
int size = map_size(argsObj); |
|
|
|
int size = map_size(eval(globals, args)); |
|
|
|
for(int i = 0; i < size; i++) { |
|
|
|
oop oopInt = makeInteger(i); |
|
|
|
oop obj = map_get(map_get(args, value_symbol), oopInt); |
|
|
|
obj = newCall(func, obj); |
|
|
|
oop test = makeMap(); |
|
|
|
map_append(test, obj); |
|
|
|
obj = newCall(func, test); |
|
|
|
map_append(mapValue, obj); |
|
|
|
} |
|
|
|
map_set(args, value_symbol, mapValue); |
|
|
|
println(args); |
|
|
|
return args; |
|
|
|
} |
|
|
|
|
|
|
@ -2694,6 +2693,7 @@ oop mulOperation(oop lhs, oop rhs) |
|
|
|
CASE(Float , Float ): return makeFloat(get(lhs, Float, _value) * get(rhs, Float, _value)); |
|
|
|
CASE(String , Integer): return string_mul(lhs, rhs); |
|
|
|
CASE(Integer, String ): return string_mul(rhs, lhs); |
|
|
|
CASE(Undefined, Integer): return makeInteger(getInteger(rhs)); |
|
|
|
} |
|
|
|
runtimeError("multiplication between two incompatible types"); |
|
|
|
return NULL; // to prevent: control may reach end of non-void function |
|
|
|