RosettaCodeData/Task/Van-Eck-sequence/Refal/van-eck-sequence.refal

29 lines
502 B
Plaintext

$ENTRY Go {
, <Eck 1000>: e.Eck
, <First 10 e.Eck>: (e.First10) e.Rest1
, <Last 10 e.Eck>: (e.Rest2) e.Last10
= <Prout e.First10>
<Prout e.Last10>;
};
Eck {
s.N = <Reverse <Repeat s.N EckStep>>;
};
Reverse {
= ;
e.X s.I = s.I <Reverse e.X>;
};
Repeat {
0 s.F e.X = e.X;
s.N s.F e.X = <Repeat <- s.N 1> s.F <Mu s.F e.X>>;
};
EckStep {
= 0;
s.N e.X, e.X: e.F s.N e.R,
<Lenw e.F>: s.M e.F = <+ s.M 1> s.N e.X;
s.N e.X = 0 s.N e.X;
};