Commit Graph

20 Commits

Author SHA1 Message Date
John Clements
c01e8c1564 refactored to reduce stepper dependencies 2012-06-19 23:51:59 -07:00
Matthew Flatt
9ca0c34cb2 lazy: fix or' and and' to not force last argument
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.
2012-02-19 07:38:29 -07:00
Stephen Chang
79dd7df945 fix lazy stepper bug: annota of non-identifier fns
- fix lazy stepper bug where delaying of non-identifier fns
  wasnt being properly hidden
- add test case for this bug

include in 5.2
2011-10-08 15:59:32 -04:00
Stephen Chang
af3e0cea01 updated Lazy Racket to use racket/base
updated Lazy Racket to use racket/base instead of mzscheme
2011-08-17 01:48:58 -04:00
Eli Barzilay
3157955d40 ".ss" -> ".rkt" scan done. 2011-07-02 10:37:53 -04:00
Stephen Chang
718b9709bc fix struct constructor application in lazy racket 2011-04-19 01:21:19 -04:00
Stephen Chang
225c011502 fix toplevel variable dereferencing in lazy stepper
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
2011-04-09 15:55:12 -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
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
0d21131a8d in lazy.rkt:
- 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
2011-04-06 18:40:05 -04:00
Stephen Chang
89d1a1feb0 in lazy/lazy.rkt:
- remove all stepper hints and properties
- change !*app to use application instead of let
  (stepper has difficulty with temp vars of let)
2011-04-06 18:40:04 -04:00
Eli Barzilay
6b5e09073a Reorganize, improve, and extend lazy tests. 2011-01-30 13:52:04 -05:00
Stephen Chang
808361b789 fix lazy take bug -- invariant being tested on unforced argument 2011-01-30 12:10:57 -05:00
Eli Barzilay
40610643bf Make `take' less forceful -- so now (take 0 (error "foo")) returns '()
instead of throwing an error.
2011-01-26 17:06:17 -05:00
Stephen Chang
39194ba5da in lazy.rkt, fix bug in take, where (take 0 non-null-list) was not evaluating to null 2011-01-26 15:27:18 -05:00
Eli Barzilay
698b3a6c90 Throw an error if the number input for `take' is too big.
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.)
2010-11-23 14:13:26 -05:00
Eli Barzilay
f3c62a0efd Require a non-negative exact integer argument for `take'.
Closes PR 11458.
2010-11-23 10:28:14 -05:00
Eli Barzilay
2d9601089d A lot of "MzScheme" -> "Racket"s. 2010-05-16 18:26:26 -04:00
Matthew Flatt
28b4043077 rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00