RosettaCodeData/Task/Look-and-say-sequence/Refal/look-and-say-sequence.refal
2024-03-06 22:25:12 -08:00

22 lines
414 B
Text

$ENTRY Go {
= <Prout <Sequence 10 1>>;
};
Sequence {
0 e.seq = ;
s.N e.seq = <Prout e.seq>
<Sequence <- s.N 1> <LookSay e.seq>>;
}
LookSay {
= ;
e.1,
<First <Group e.1> e.1>: (e.group) e.rest,
<Lenw e.group>: s.num s.item e.discard =
s.num s.item <LookSay e.rest>;
}
Group {
s.1 s.1 e.rest = <+ 1 <Group s.1 e.rest>>;
s.1 e.rest = 1;
};