RosettaCodeData/Task/Rep-string/Bracmat/rep-string.bracmat

37 lines
742 B
Plaintext

( ( rep-string
= reps L x y
. ( reps
= x y z
. !arg:(?x.?y)
& ( @(!y:!x ?z)&reps$(!x.!z)
| @(!x:!y ?)
)
)
& ( :?L
& @( !arg
: %?x
!x
( ?y
& reps$(!x.!y)
& !x !L:?L
& ~
)
)
| !L:
& out$(str$(!arg " is not a rep-string"))
| out$(!arg ":" !L)
)
)
& rep-string$1001110011
& rep-string$1110111011
& rep-string$0010010010
& rep-string$1010101010
& rep-string$1111111111
& rep-string$0100101101
& rep-string$0100100
& rep-string$101
& rep-string$11
& rep-string$00
& rep-string$1
);