>>170 Common Lisp

(defun f (m)
(let ((rs (loop for n from 1 upto (1- m)
nconc (loop for d from 1 upto m for r = (/ n d) collect r))))
(sort (remove-duplicates (remove-if (complement (lambda (x) (< 0 x 1)))
rs))
#'<)))

(loop for m from 2 upto 10 do (format t "~D => ~S~%" m (f m)))

2 => (1/2)
3 => (1/3 1/2 2/3)
4 => (1/4 1/3 1/2 2/3 3/4)
5 => (1/5 1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/5)
6 => (1/6 1/5 1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/5 5/6)
7 => (1/7 1/6 1/5 1/4 2/7 1/3 2/5 3/7 1/2 4/7 3/5 2/3 5/7 3/4 4/5 5/6 6/7)