C compiler with embedded metalanguage.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

33 lines
525 B

@(import("boot.mc"))
@{
initClass(class) {
out = {};
if (class == null) {
out.values = {};
out.functions = {};
} else {
out = {values: clone(class.values), functions: clone(class.functions)};
}
out;
}
new(class, param) {
k = 0;
out = initClass();
for (i in class.values) {
out.values[i] = clone(param[i]);
k++;
}
for (i in class) {
if (i != keys(class)[0]) {
out[i] = clone(class[i]);
}
}
return out;
}
nil;
}