- bug fixes are related to allocation and runstack space
- a `touch' within a future can complete before the `touch'ing
future is itself `touch'ed
- also make `length' safe (and JIT-inlined)
in lazy/lazy.rkt
- add 'lazy-op stepper-syntax-property to op in lazy #%app
in stepper/private/annotate.rkt
- in varref-abstraction, check for 'lazy-op operator for toplevel vars, and use
varref-break-wrap if property = #t
remove stepper/private/lazy-highlighting.rkt
in stepper/private/macro-unwind.rkt:
- in fall-through, add lazy-proc to lazy #%app special case
in stepper/private/model.rkt
- in send-step, dont use highlight-table, just match top called fn in mark-list
instead
in tests/stepper/
- add lazy stepper tests for filter and fold
this meant that if some line were supposed to be indented in the third
column and you had two tabs and a space on that line, the indenter
would leave it alone. Now, if it sees tabs in the line anywhere, it just
decides that the line is not properly indented and re-indents it
(always using spaces)
Also: started a tabber test suite
in stepper/stepper-tool.rkt
- in simple-module-based-language-convert-value, add print and trad-write case
in stepper/private/macro-unwind.rkt
- in fall-through, add to procedure-extract-target case
in drracket/tool-lib.rkt
- in contract for drracket:language:simple-settings-printing-style, add
'trad-write
in stepper/private/macro-unwind.rkt
- in fall-through, add special #%app case for force
in stepper/private/reconstruct.rkt
- in recon-inner, in called app case, combine force case with other lazy fns
in tests/stepper/
- add test for lazy cond unwinding problem
- in recon-inner, in called app case
- add other force fns to force case (!!, !list, !!list)
- add other list fns
(list?, length, list-ref, etc)
in stepper/private/lazy-highlighting.rkt
- add various list fns (list?, length, list-ref, etc)
in stepper/private/macro-unwind.rkt
- in unwind-cond, disable check of user-source and user-position
in tests/stepper/
- add test for various list fns
- modify cond for stepper
- add support for multiple values in stepper
- add inspector to multiple-values struct
- hide split-values call in ~define-values
in tests/stepper/
- add tests for cond
in stepper/private/annotate.rkt
- in annotate/top-level, allow arbitrary top-level terms
(no error in else case), otherwise exprs like let throws error
in stepper/private/
reconstruct.rkt
lazy-highlighting.rkt
- add support for eq? eqv? equal? lazy fns
in stepper/private/marks.rkt
- in mark-binding-value, add exception handler to catch undefined vars, so
display-mark in break works with recursive fns
in /tests/stepper/automatic-tests.rkt
through-tests.rkt
- add inf list example from icfp paper
in stepper/private/model.rkt
- refactor send-step to use cond instead of unless
- in send-step, when highlight-stack = null and last-rhs != null (and lhs !=
last-rhs), send a step with lhs = last-rhs (previously skipped whenever
highlight-stack = null)
- basic filter example wasnt showing result without this
- in icfp inf list example, this shows some intermediate forcing states
- all other existing tests passed
in macro-unwind.rkt:
- in unwind-mz-let, last line, ",label" should just be "label" (no unquote)
in reconstruct.rkt
- in reconstruct-completed-define, last line, arg to attach-info should be a
quasisyntax (#`), not syntax (#')
- 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
- in recon-value, add cases to handle list and cons
- in recon-inner, in app called case, add case to handle lazy list fns
that contain unannotated !'s (ie cadr, cdddr, second, third, etc)
in stepper/private/model.rkt
- add highlight-stack
- in send-step, add various skip conditions when lhs = ellipses
add file stepper/private/lazy-highlighting.rkt
in tests/stepper/through-tests.rkt
tests/stepper/automatic-tests.rkt
- add tests for list and cons fns