Commit Graph

29 Commits

Author SHA1 Message Date
John Clements
4e47c669ca repair hack for beginner-proc names 2012-07-24 06:42:19 -04:00
John Clements
c01e8c1564 refactored to reduce stepper dependencies 2012-06-19 23:51:59 -07:00
Matthew Flatt
0197902309 add var-ref->mod-decl-insp' and switch cur-code-insp' uses
Macros and other tools that need syntax privilege used
`(current-code-inspector)' at the module top-level to try to
capture the right code inspector at load time. It's more
consistent to instead use the enclosing module's declaration-time
inspector, and `var-ref->mod-decl-insp' provides that. The
new function works only on references to anonymous variables,
which limits access to the inspector.

The real function name is longer, of course.
2011-09-20 13:50:36 -06:00
Stephen Chang
8956364387 change recon-val in stepper to use render-to-sexpr for non-lazy lists 2011-07-24 12:18:09 -04:00
John Clements
592f28382b refactoring, no semantic changes 2011-07-09 16:19:15 -07:00
John Clements
2cebd8f4cb retabbing, dumping a 'local', no longer using parenthesized module form 2011-07-09 16:19:15 -07:00
John Clements
53db721ee9 retabbing only 2011-07-09 16:19:15 -07:00
Eli Barzilay
3157955d40 ".ss" -> ".rkt" scan done. 2011-07-02 10:37:53 -04:00
Matthew Flatt
1160d3df62 remove syntax certificates; add syntax taints 2011-06-29 19:15:48 -06:00
John Clements
ae9cab6ee0 Updated stepper-syntax property to only permit known & documented stepper properties,
discovered quite a number of strange old errors. Also fixed an
error on setting current-directory when the tab has no directory,
no infrastructure for testing this automatically.
Requires are now handled correctly, except that required bindings aren't treated
as top-level (that is, their reductions are skipped). Should be an easy fix...
2011-06-29 00:32:38 -07:00
Stephen Chang
b4ab1bb093 fix bug in lazy stepper handling of cyclic lists 2011-05-22 01:54:46 -04:00
Stephen Chang
d8517af898 fix stepper rendering of non constructor-style lists
in stepper/private/reconstruct.rkt
- in recon-value, list case, add quasiquote rendering when constructor-style
  printing = #f
2011-04-08 20:41:36 -04:00
Stephen Chang
4ef7e1fae3 improve lazy stepper recon of unannotated fn apps
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
2011-04-08 20:41:35 -04:00
Stephen Chang
c8dd95b3cf fix user-position stepper-property bug in lazy cond stepper unwinding
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
2011-04-06 22:29:48 -04:00
Stephen Chang
5d47c0b49b in stepper/private/reconstruct.rkt
- 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
2011-04-06 18:44:36 -04:00
Stephen Chang
e41ba9c77b in lazy/lazy.rkt
- 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
2011-04-06 18:44:35 -04:00
Stephen Chang
c0f8f1cdb2 lazy stepper working with infinite lists
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
2011-04-06 18:42:57 -04:00
Stephen Chang
2227516673 fixing some bugs
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 (#')
2011-04-06 18:42:57 -04:00
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
Stephen Chang
d04d3fadc3 - add if tests for lazy stepper
in stepper/private/reconstruct.rkt
- in recon-inner, in called app case, add "take" to lazy fn case and fix to
  handle more than unary fns
2011-04-06 18:42:55 -04:00
Stephen Chang
49fd1fb0e0 in stepper/private/reconstruct.rkt
- 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
2011-04-06 18:42:54 -04:00
Stephen Chang
6921960c5e simple example working: (define (f x) (+ x x)) (f (+ 1 2))
in stepper/private/model.rkt
- add debugging outputs
- reformat code

in stepper/private/macro-unwind.rkt:
- in fall-through
  - add case for lazy racket app
  - add case for procedure-extract-target
- in unwind, change recur procedure for fn hints to unwind
  (was recur-on-pieces)

in racket/private/promise.rkt
- add unwind fn as stepper-hint syntax property

in stepper/private/reconstruct.rkt
- add constructor application case back
- in recon-inner
  - in app called case, dont show ellipses for force
  - initialize partially-eval-promise table
  - reformat answer code
  - add caching of running promises
- in recon-value, add reconstructing of partially evaluated promises

in stepper-private/annotate.rkt
- in annotate/module-top-level, add lazy racket top level case - to hide top
  level forcer

in lazy/lazy.rkt
- use hidden-~ and hidden-! instead of ~ and !
2011-04-06 18:42:53 -04:00
Stephen Chang
2d204dc6ea in stepper/private/reconstruct.rkt:
- in find-special-value, add case for Lazy Racket
- delete final-mark-list? (unused fn)
- in skip-redex-step?
  - reformat code
  - remove constructor app case
- in recon-value
  - reformat code
  - add thunk rendering (need to require racket/private/promise)
2011-04-06 18:40:06 -04:00
John Clements
368f345901 more stepper cleanup 2010-12-08 16:37:15 -08:00
John Clements
fec54283fb applicable structs now working, closure table is gone 2010-12-07 20:44:35 -08:00
John Clements
9eaee0e6f1 about to give up for now... 2010-12-07 20:44:34 -08:00
John Clements
60dabc8ad7 may have fixed cond in stepper tests 2010-10-19 17:50:35 -07:00
Eli Barzilay
606b7f60dc Lots of "~e" to "~.s" changes. 2010-08-25 17:17:01 -04:00
Matthew Flatt
28b4043077 rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00