racket/collects/stepper/private/lazy-highlighting.rkt
Stephen Chang 348a20c0e5 in stepper/private/reconstruct.rkt
- in recon-inner, called app case, add first fn to list of special lazy fns
- in recon-value, add handling of running promises not found by
  recon-inner search
  - add optional so-far param to recon-value
- add unknown-promises-table and add case in recon-value to handle

in stepper/private/lazy-highlighting.rkt
- add (first,0) pair

in stepper/private/model.rkt
- modify lazy fn "skipping" (from lazy-highlighting.rkt) to use the skips
  only when last-rhs-exp = null; o.w. skipping is handled solely by
  examining last-rhs-exp

in tests/stepper/
- add take example from icfp paper
- add tests for unknown promises
2011-04-06 18:42:56 -04:00

48 lines
923 B
Racket

#lang scheme/base
(provide (rename-out [table highlight-table]))
; number of steps to skip, where the step to skip has ellipses on lhs
; # of skips depends on # of hidden !'s in fn def in lazy/lazy.rkt
(define
table
(make-immutable-hasheq
'((take . 0)
(caar . 1)
(cadr . 0)
(cdar . 1)
(cddr . 0)
(caaar . 2)
(caadr . 1)
(cadar . 1)
(caddr . 0)
(cdaar . 2)
(cdadr . 1)
(cddar . 1)
(cdddr . 0)
(caaaar . 3)
(caaadr . 2)
(caadar . 2)
(caaddr . 1)
(cadaar . 2)
(cadadr . 1)
(caddar . 1)
(cadddr . 0)
(cdaaar . 3)
(cdaadr . 2)
(cdadar . 2)
(cdaddr . 1)
(cddaar . 2)
(cddadr . 1)
(cdddar . 1)
(cddddr . 0)
(first . 0)
(second . 0)
(third . 0)
(fourth . 0)
(fifth . 0)
(sixth . 0)
(seventh . 0)
(eighth . 0)
)))