fork download
  1. #lang racket
  2.  
  3. (require "util/p-list.rkt") ;;; 属性リストユーティリティを置いたパスに従う
  4.  
  5. (putprop! 'Harry '(Jane Bill) '#:children)
  6. (putprop! 'Jane '(Joe Diane) '#:children)
  7. (putprop! 'Bill '(Julia Mike) '#:children)
  8. (putprop! 'Julia '(Frank Suzan) '#:children)
  9. (putprop! 'Frank '(Anne) '#:children)
  10.  
  11. ;;; 展開関数
  12. (define (expand person)
  13. (keyword-get person '#:children '()))
  14.  
  15. ;;; 深さ優先探索
  16. (define (depth person1 person2)
  17. (let loop ((stack (expand person1)))
  18. (if (null? stack)
  19. null
  20. (let ((person (car stack)))
  21. (or (eq? person person2)
  22. (loop (append (expand person) (cdr stack))))))))
Runtime error #stdin #stdout #stderr 0.54s 70984KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
open-input-file: cannot open module file
  module path: /home/iXYT57/util/p-list.rkt
  path: /home/iXYT57/util/p-list.rkt
  system error: no such file or directory; rktio_err=3
  context...:
   maybe-raise-missing-module
   default-load-handler
   standard-module-name-resolver
   perform-require!78
   for-loop
   finish
   [repeats 1 more time]
   pass-1-and-2-loop
   module-begin-k
   expand-module16
   expand-capturing-lifts
   expand-single
   temp74_0
   compile16
   temp68_2
   loop