C compiler with embedded metalanguage.
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 

43 linhas
657 B

@{
append(s, e) {
s[length(s)] = e;
}
map(f, seq, g) {
out = {};
if (g) {
for (i in seq) {
e = seq[i];
if (g(e)) { e = f(e); }
append(out, e);
}
} else {
for (i in seq) {
append(out, f(seq[i]));
}
}
out;
}
select(f, s) {
out = {};
for (i in s) {
e = s[i];
if (f(e)) { append(out, e); }
}
out;
}
reject(f, s) {
out = {};
for (i in s) {
e = s[i];
if (!f(e)) { append(out, e); }
}
out;
}
last(s) {
s[length(s)-1];
}
}