#import std #import nat rand_char = arc ' ABCDEFGHIJKLMNOPQRSTUVWXYZ' target = 'METHINKS IT IS LIKE A WEASEL' parent = rand_char* target fitness = length+ (filter ~=)+ zip/target mutate("string","rate") = "rate"%~?(rand_char,~&)* "string" C = 32 evolve = @iiX ~&l->r @r -*iota(C); @lS nleq$-&l+ ^(fitness,~&)^*C/~&h mutate\*10 #cast %s main = evolve parent