21 lines
366 B
Plaintext
21 lines
366 B
Plaintext
#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
|