The `or' and `and' functions already worked correctly; this
fix is for `or' and `and' as applied directly to arguments, which
expands to the `racket/base' `or' and `and' forms.
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
- 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/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 !
- in !*app:
- add stepper-skipto property to skip (if lazy-proc? ...)
- for lazy-proc, extract proc from lazy-proc struct before applying
- redefine ~define to use inferred name, so stepper can recon properly
Note that this is usually delayed so it's not too useful. Note that it
*doesn't* force the list -- see the explanation in the comment.
(Related to PR 11458.)
punctuations outside of the form, as it does with quote punctuations.
So things like this
#, @foo{...}
that required the space to make the @foo read as a scribble form are
now better written as
@#,foo{...}
This changes all such occurrences. (In case you see this change in
your files and are worried that there might be changes: I mechanically
verified that the result of `read'ing the modified files is identical
to the previous version.)
svn: r15111
- `!!' now scans the same kind of data that `make-reader-graph'
handles (except that hash-tables are not implemented)
- this means no structs, no mpairs, and a bunch of other stuff
- `!!!' is gone (lazy procedures are not wrapped)
- dealing with multiple values moved into lazy/lazy.ss itself (and
in the future everything will move in there)
* Removed lazy/promise, and use scheme/promise instead. Also remove
the docs for lazy/promise that were bogus (since scheme/promise *is*
doing the same thing now).
* Other adjustments to the docs. They should be considered incomplete
now, and will need a major rewrite when the whole thing works again
(multiple values things are just commented out for now).
* Added a test macro and a quick test suite for lazy/promise.
* The lazy tests are added to the nightly build tests
svn: r11042
* Another big chunk of v4-require-isms
* Allow `#lang framework/keybinding-lang' for keybinding files
* Move hierlist sources into "mrlib/hierlist", leave stub behind
svn: r10689