Farey sequence



Hi,

I try to compute Farey sequences.
I have made function :

Farey(n):=
block(
[a],
a:[0/1,1/1],
if n>=2 then
for denom:2 thru n step 1 do
for num:1 thru (denom-1) step 1 do
  if (not member(num/denom,a)) then a:cons(num/denom,a),
  return(a)
);

It seems to work.
Is it true or can it be done better ?


Adam