いまさらながら "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 件のコメント:
コメントを投稿