いまさらながら "sleep sort" というネタを知った。非同期処理を使ったすごい発想。
いちおうElispで書いてみた。run-at-timeなんて関数があるんですねー、と。
(defun sleep-sort (lat)
(if (null lat) nil
(lexical-let ((n (car lat)))
(run-at-time n nil (lambda () (print n))))
(sleep-sort (cdr lat))))
(sleep-sort '(3 2 1 0))
0 件のコメント:
コメントを投稿