[scheme] - отладочная информация - последовательность вызова
От: DemAS http://demas.me
Дата: 12.02.08 06:08
Оценка:
Вчера минут 20 медитировал над следующей функцией:

    ;; relative-2-absolute : (listof number) -> (listof number) 
;; to convert a list of relative distances to a list of absolute distances 
;; the first item on the list represents the distance to the origin 
(define (relative-2-absolute alon) 
  (cond 
    [(empty? alon) empty] 
    [else (cons (first alon) 
          (add-to-each (first alon) (relative-2-absolute (rest alon))))])) 
 
;; add-to-each : number (listof number) -> (listof number) 
;; to add n to each number on alon 
(define (add-to-each n alon) 
  (cond 
    [(empty? alon) empty] 
    [else (cons (+ (first alon) n) (add-to-each n (rest alon)))]))


Про то, что сам бы я так не написал я молчу ... но я даже не сразу в решение въехал
По ходу дела подумал, что для того, чтобы быстрее понмать как работает та или иная функция, а также для отладки мне бы (наверное) помог бы отадочный вывод информации вида:

   f1(параметр1=..., параметр2=.., ...)
   f1(параметр1=..., параметр2=.., ...)
   f2(параметр1=..., параметр2=.., ...)
   ....


То есть развертка всех рекурсий. Такое возможно получить?
... << RSDN@Home 1.2.0 alpha rev. 786>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.