RosettaCodeData/Task/Combinations/Refal/combinations.refal

24 lines
354 B
Plaintext

$ENTRY Go {
= <Prout <Comb 3 5>>;
};
Comb {
s.M s.N = <Comb1 s.M <Iota 0 <- s.N 1>>>;
};
Comb1 {
0 e.X = ();
s.M = ;
s.M s.X e.X = <PfxEach s.X <Comb1 <- s.M 1> e.X>> <Comb1 s.M e.X>;
};
PfxEach {
s.X = ;
s.X (e.X) e.Y = (s.X e.X) <PfxEach s.X e.Y>;
};
Iota {
s.E s.E = s.E;
s.S s.E = s.S <Iota <+ 1 s.S> s.E>;
};