Commit Graph

2029 Commits

Author SHA1 Message Date
Jay McCarthy
04d1fa6a26 Parsing patch from Dave Gurnell
svn: r18671
2010-03-30 17:05:51 +00:00
Noel Welsh
cfab7a8d97 Add type definition for unsafe-vector*-ref and unsafe-vector*-length, which have recently been introduced, and a test case for in-vector (which uses the above).
svn: r18667
2010-03-30 13:33:45 +00:00
Matthew Flatt
baab09fc1b drop the uglier half of the Mac OS X thread-local variable hack; thread GC state through mark functions (to avoid overhead of thread-local accesses); fix some procedure-arity bugs and work toward fixing chaperones and some other procedure operations on keyword procedures
svn: r18661
2010-03-29 15:06:47 +00:00
Noel Welsh
f655a38ead Fix the SchemeUnit test suite so it runs without error following changed introduced in r18618.
svn: r18659
2010-03-29 12:58:13 +00:00
Matthew Flatt
b8c3112b98 fix chaperones on parameters
svn: r18654
2010-03-28 15:56:04 +00:00
Matthew Flatt
73807aef24 chaperones (v4.2.5.3)
svn: r18650
2010-03-28 01:10:33 +00:00
Mike Sperber
19793ca54b Disable a test that exposes a hard-to-fix problem in the image
primitives.

svn: r18645
2010-03-27 13:52:49 +00:00
Sam Tobin-Hochstadt
752e93fc88 add simple tests
svn: r18638
2010-03-27 00:31:29 +00:00
Matthew Flatt
72db535760 fix optimizer bug for inlining procedures under 'let' in rator position
svn: r18622
2010-03-25 20:09:41 +00:00
Jay McCarthy
55c3176934 Adding a work around for the compiler bug... plus I like it better. And adding a regression test for the compiler.
svn: r18619
2010-03-25 18:14:11 +00:00
Noel Welsh
af84b331a1 Add the fx to fl conversion functions to Typed Scheme
Add tests for flonum operations to Typed Scheme test suite

Fix the compiler bug tests above uncovered

svn: r18609
2010-03-24 13:18:37 +00:00
Noel Welsh
cf017110a9 Fix a problem generating contracts for FlVector exports. Add test for problem.
svn: r18603
2010-03-23 10:30:24 +00:00
Sam Tobin-Hochstadt
23d16b904f fix embed-in-c
svn: r18584
2010-03-19 15:27:47 +00:00
Stevie Strickland
dde2011ec7 Add ->dm and case->m, which are the implicit method versions of ->d and
case->.

This should be included in the release.

svn: r18579
2010-03-18 21:28:41 +00:00
Kevin Tew
8299803e06 [Places] channel tests
svn: r18577
2010-03-18 16:42:14 +00:00
Sam Tobin-Hochstadt
e1eb4a4b93 Fix bug in match reported by jay.
svn: r18563
2010-03-17 18:21:09 +00:00
Noel Welsh
5f6aeb364f Check that the FlVector type is exported. Currently this test fails.
svn: r18557
2010-03-17 15:26:30 +00:00
Noel Welsh
39a1489403 Add FlVector types to Typed Scheme and bindings for all flvector operations in scheme/flonum and scheme/unsafe/ops.
svn: r18555
2010-03-17 14:49:29 +00:00
Kevin Tew
e7b6b4a3da place holder for place-channel tests
svn: r18548
2010-03-15 21:28:57 +00:00
Stevie Strickland
c7c8f7061e Add documentation, and also add tests for appropriate init-field behavior.
svn: r18541
2010-03-15 08:47:09 +00:00
Stevie Strickland
924842d9e9 * Fix inits so that we either call the previous class/c wrapper's init
or let continue-make-super take control if we were the first wrapper
* Fix up handling of init/contract sorting so that things are performed
  at the right phase (at least if we're going to treat names as symbols).
* Fix up new tests so that all contract layers are tested.

svn: r18540
2010-03-15 08:29:22 +00:00
Stevie Strickland
7ec061cdbf * Factor out zipping of inits/contracts of the init closure
* Add tests for higher-order behavior

svn: r18538
2010-03-15 07:37:25 +00:00
Stevie Strickland
1bd29dd7e9 Okay, we're going to add back init contracts, which I'd somewhat done before.
In this version, we're not going to have any reasonable first-order checks as
to whether or not the class actually accepts the initialization arguments that
are being contracted.  I'm also just going to handle by-name at first, since
that's all I originally discussed in the paper.

svn: r18534
2010-03-15 06:49:49 +00:00
Stevie Strickland
7b831e86a6 Correct with-type so it handles result types of the form (values t ...).
svn: r18531
2010-03-14 02:32:20 +00:00
Sam Tobin-Hochstadt
9035e2e584 Prevent unbound identifiers from being in the base env.
Fix some bugs caught by this.

svn: r18526
2010-03-12 16:25:40 +00:00
Noel Welsh
97924ffc65 Add tests for all the fixnum operations. This only checks that the operations have types; semantics and completely specified types aren't rigourously checked.
svn: r18523
2010-03-12 12:13:10 +00:00
Sam Tobin-Hochstadt
b3be4f32f7 Null does not overlap with structs.
svn: r18508
2010-03-10 23:43:47 +00:00
Stevie Strickland
40b35a2b73 Now that we have a way of marking procedures as methods at runtime,
fix up all projection applications and uncomment out the tests for
appropriate method arity errors.

svn: r18504
2010-03-10 04:07:00 +00:00
Stevie Strickland
86a26d7947 Sync up to trunk.
svn: r18500
2010-03-10 01:11:31 +00:00
Sam Tobin-Hochstadt
c24daa5dbb Add `define-predicate'
svn: r18497
2010-03-10 00:10:03 +00:00
Stevie Strickland
0982626a67 Add test cases, which let us see where we're failing at the moment.
svn: r18496
2010-03-09 23:56:20 +00:00
Matthew Flatt
4673b36dcf adjust inlining heuristics again
svn: r18479
2010-03-06 03:44:07 +00:00
Sam Tobin-Hochstadt
87f978e59e Fix PR 10813
svn: r18477
2010-03-05 21:52:54 +00:00
Stevie Strickland
bf60da75e1 Refactor out new has-contract?/value-contract functionality so that it's
the responsibility of the (higher-order) contract to add the contract
(plus possibly more in the future) to the wrapped value.

svn: r18469
2010-03-04 21:10:44 +00:00
Sam Tobin-Hochstadt
80fcee2577 Fix PR 10806.
svn: r18464
2010-03-04 13:45:25 +00:00
Casey Klein
cd2fc95d4e Fixes typos in r18451
svn: r18459
2010-03-04 00:14:40 +00:00
Stevie Strickland
5fe0a790c1 Change how contracts for multiple values are handled to be a little cleaner
syntactically.

svn: r18458
2010-03-04 00:04:07 +00:00
Stevie Strickland
f2788561d3 Add the ability to contract more than one value returned from a with-contract
block in expression position.

svn: r18456
2010-03-03 21:54:18 +00:00
Robby Findler
7c1b076ee1 svn: r18451 2010-03-03 19:13:43 +00:00
Jay McCarthy
62e077e90d Applying Dave Gurnell's serialization patch
svn: r18447
2010-03-03 16:55:42 +00:00
Matthew Flatt
fced29e946 fix regexp bug in unicode-category patterns
svn: r18427
2010-03-02 15:09:47 +00:00
Sam Tobin-Hochstadt
65b12a2af3 Use `current-contract-region' appropriately.
Maintain source locations.
Fix PR 10776.

svn: r18421
2010-03-01 23:43:15 +00:00
Sam Tobin-Hochstadt
12257912e3 Fix bug 10763.
svn: r18418
2010-03-01 22:48:11 +00:00
Sam Tobin-Hochstadt
78c14e434b Add `with-type' for defintions, add #:result keyword.
Fix contract for top-arr.
Remove static version of printing conditional.
Fix brokenness in print-converting.

svn: r18416
2010-03-01 22:31:24 +00:00
Sam Tobin-Hochstadt
1c1a2dde38 Fix pconvert of hashtables.
svn: r18414
2010-03-01 20:27:55 +00:00
Robby Findler
d7f8c62371 fixed immutable boxes and vectors
svn: r18407
2010-03-01 14:47:38 +00:00
Stevie Strickland
16dbb0edc1 Fix bug in field mutation on contracted objects.
svn: r18390
2010-02-27 20:59:40 +00:00
Sam Tobin-Hochstadt
31f0b5e305 Fix tests to use `test-suite' to delay execution.
Move hiding of errors down in stack.

svn: r18381
2010-02-27 15:07:45 +00:00
Stevie Strickland
8e3a67936e Add `unregister-type'
Add type regions.
Untyped lexical vars not an internal error.

svn: r18374
2010-02-27 01:26:16 +00:00
Stevie Strickland
7dacfaea85 Add with-contract for expression positions.
svn: r18372
2010-02-27 01:05:03 +00:00
Jay McCarthy
1f4ab946e1 Removing reliance on SXML and adding little xpath evaluator for xexprs
svn: r18366
2010-02-26 21:16:56 +00:00
Sam Tobin-Hochstadt
21d0dfcf09 use new schemeunit
svn: r18361
2010-02-26 20:44:30 +00:00
Jay McCarthy
dd31aa9512 Switching many uses of old Schemeunit to new
svn: r18360
2010-02-26 20:39:56 +00:00
Matthew Flatt
02583a1a08 ad hoc car/cdr optimizations
svn: r18354
2010-02-26 19:14:56 +00:00
Sam Tobin-Hochstadt
2bda690d2d remove error printf for drdr
svn: r18349
2010-02-26 14:37:51 +00:00
Robby Findler
ca8459a3a0 changed to schemeunit so the tests can be in a module and so we dont see random values in the printed output
svn: r18341
2010-02-25 21:32:48 +00:00
Carl Eastlund
8b93f081bc Renamed make-set{,eq,eqv} to set{,eq,eqv} for uniformity with list, vector, etc.
svn: r18338
2010-02-25 19:46:36 +00:00
Jay McCarthy
24d76d0e82 Allowing any module path in mutators for the collector
svn: r18336
2010-02-25 16:24:36 +00:00
Robby Findler
3955ef69b4 try to debug new drdr failure
svn: r18329
2010-02-24 21:46:53 +00:00
Robby Findler
df049ea35e normalized the output so drdr won't say that this is changing
svn: r18326
2010-02-24 19:46:24 +00:00
Stevie Strickland
9f9e83b671 Yes, I know that we get different results for how it prints out. This needs
to be fixed.  But for now, I'm commenting this out with a note to myself to
get this fixed.

svn: r18322
2010-02-24 17:46:51 +00:00
Robby Findler
50a6a585b1 fixed some repl-printing related bugs that would make 'write' sensitive to pretty-print's parameters in drscheme's repl
svn: r18321
2010-02-24 17:35:09 +00:00
Stevie Strickland
232db39f54 Sync up to trunk to prepare for the grand merge.
svn: r18319
2010-02-24 16:38:32 +00:00
Jay McCarthy
652cdcf902 Changing bindings parser on requests to promises.
svn: r18310
2010-02-23 22:29:22 +00:00
Sam Tobin-Hochstadt
1616e27b4b fix comment, add test
svn: r18307
2010-02-23 21:36:53 +00:00
Jay McCarthy
a4dfbfb1d6 Fixing mutator-cond
svn: r18305
2010-02-23 19:43:36 +00:00
Stevie Strickland
8cc22294ff Sync up to trunk.
svn: r18291
2010-02-23 07:25:24 +00:00
Stevie Strickland
6326731a15 Fix the tests that break due to semantic changes in object-contract.
svn: r18290
2010-02-23 04:34:05 +00:00
Stevie Strickland
d820493feb First cut of converting object-contract to share a common base that
object/c will also use.

svn: r18274
2010-02-22 21:55:32 +00:00
Ryan Culpepper
d4b0f917df rewrote schemeunit test
svn: r18271
2010-02-22 21:12:11 +00:00
Sam Tobin-Hochstadt
e417da3598 Switch to the current version of schemeunit.
svn: r18263
2010-02-22 17:58:18 +00:00
Jay McCarthy
1eea5163cc Supporting byte-regexps and boxes in tester. Improving speed/allocation of parser and noting places where we could do better. Updating struct contracts in code and docs.
svn: r18262
2010-02-22 15:47:57 +00:00
Carl Eastlund
1d6111c532 Renamed simple-contract and simple-flat-contract to make-contract and make-flat-contract.
svn: r18259
2010-02-22 02:51:16 +00:00
Stevie Strickland
6f3b676fa5 Syncing up.
svn: r18249
2010-02-21 03:37:21 +00:00
Stevie Strickland
a0769da5ea Add the contract shorthands for -> and ->* to use for methods where we don't
care about properties of this.

svn: r18248
2010-02-21 02:54:06 +00:00
Ryan Culpepper
3b630af6f9 schemeunit:
moved internal modules to schemeunit/private
  moved tests to tests/schemeunig
  added schemeunit/gui

drscheme:
  fixed bug in show-backtrace-window

svn: r18243
2010-02-21 01:03:42 +00:00
Stevie Strickland
ffa34e1f7d Add augride, which is like augment but enables the contract writer to give
subclasses an idea of whether a method can be augmented (augment) or whether
a method augmentation can be overridden (augride).

svn: r18240
2010-02-21 00:17:42 +00:00
Stevie Strickland
f72ca7bb1b Now inherit works (and tests!)
svn: r18237
2010-02-20 22:54:11 +00:00
Stevie Strickland
370792b881 Refactoring done, and I think that's actually cleaned up things a bit. Now
to handle inherit.

svn: r18236
2010-02-20 22:44:53 +00:00
Stevie Strickland
a4d6252d16 Start inherit contracts (which are useful for mixins). Tests, plus parsing.
svn: r18232
2010-02-20 21:28:20 +00:00
Stevie Strickland
a169105ed0 Sync up to trunk, because keeping up to date is the right thing to do (and
hopefully it'll get rid of the issues in tests/future/future.ss).

svn: r18228
2010-02-20 19:36:15 +00:00
Robby Findler
92717e0f0b used stderr when tests fail
svn: r18226
2010-02-20 17:16:54 +00:00
Matthew Flatt
457a2da675 try again to fix tests
svn: r18223
2010-02-20 13:39:51 +00:00
Matthew Flatt
e38e8d88e0 basic set library
svn: r18222
2010-02-20 13:00:48 +00:00
Matthew Flatt
d2bdc2eca8 fix test problems
svn: r18221
2010-02-20 12:23:01 +00:00
Stevie Strickland
c59805ab9e Syncing up to trunk before I go to bed, so setup-plt can run while I
sleep.

svn: r18220
2010-02-20 10:59:49 +00:00
Stevie Strickland
c5c22e117c Tests to make sure the first-order parts of method contracts are attributed
to the correct source upon failure.

svn: r18219
2010-02-20 10:46:54 +00:00
Stevie Strickland
cd4aa4c6f6 Forgot about the no-contract forms, so needed to add tests for those, also.
svn: r18218
2010-02-20 10:40:50 +00:00
Stevie Strickland
7830d55b42 Okay, that does it for augment, which means I'm done with coding. Now just
documentation and benchmarking, then this can go on trunk.

svn: r18217
2010-02-20 10:09:37 +00:00
Stevie Strickland
37e1cd2e2c A few more tests to make sure we have everything right for augment once
implemented.

svn: r18216
2010-02-20 09:48:38 +00:00
Stevie Strickland
67d47e0a1d Fixes in override ctcs and test suite. I thought I ran it, so I find it
weird that I found these on a subsequent run when adding some quick augment
tests to start the next batch.  (Oh, those are included also.)

svn: r18215
2010-02-20 09:40:41 +00:00
Stevie Strickland
b5e2d5f93e Okay, now override contracts are done, so only augments remain.
svn: r18214
2010-02-20 09:30:40 +00:00
Stevie Strickland
3b125d58fc Tests for internal dynamic dispatch (Java-only)
svn: r18209
2010-02-20 08:08:17 +00:00
Stevie Strickland
aaf9a5aeac Apply the inherit-field projections appropriately.
svn: r18204
2010-02-20 04:18:49 +00:00
Stevie Strickland
fcee6788d7 Parsing and first order checks for internal field access contracts.
svn: r18203
2010-02-20 04:02:59 +00:00
Stevie Strickland
d87794a8d2 External field contracts FTW!
svn: r18202
2010-02-20 03:52:47 +00:00
Stevie Strickland
95438db40f Add set-field!. Because it's useful, because we have get-field, so why
not it, and because it's an easy way to later test external field contracts.

svn: r18199
2010-02-19 23:55:39 +00:00
Sam Tobin-Hochstadt
33c18b3985 providing static struct information to untyped code works
svn: r18198
2010-02-19 23:27:06 +00:00
Jay McCarthy
7d1a739df5 Adding comments and specs to parser.
Clarifying comments in marshaller. Supporting small numbers, small symbols, small marshalleds, small (proper) lists, small svectors, all-from-module long form

Improving inequality detector in tester: regexps and uninterned symbols

Correcting doc contract

svn: r18194
2010-02-19 19:47:15 +00:00
Robby Findler
7aa6ea4c76 PR 10645
svn: r18193
2010-02-19 19:43:14 +00:00
James Swaine
9170687148 moved futures random tests into /collects/tests/future
svn: r18192
2010-02-19 19:26:55 +00:00
James Swaine
cb12a81daf added test notes to futures test suite
svn: r18191
2010-02-19 19:21:03 +00:00
James Swaine
a7332c09a2 moved futures tests to collects/tests/future directory
svn: r18190
2010-02-19 19:17:59 +00:00
Stevie Strickland
e9264b1fac Syncing up before class.
svn merge ^/trunk

svn: r18188
2010-02-19 16:43:03 +00:00
Robby Findler
47b5892c92 probable fix to problems with this file (make sure find-relative-path's first argument is a directory)
svn: r18187
2010-02-19 15:29:54 +00:00
Stevie Strickland
55d39b0035 It was a good thing I decided to add some super/inner mixed examples here,
because it pointed out a bug in my implementation where we weren't getting
the right version of the super method (which gets the projection).

svn: r18180
2010-02-19 04:40:10 +00:00
Stevie Strickland
5cc68fdd0f In some ways, I'm still trying to decide exactly what some of these forms mean.
For example, if we're in the java part of a beta-java chain, can we still add
an inner contract?  If so, it should affect each java-style overriding method
until we reach the next beta-style augmenting method.

It can just be confusing, because one might thing that inner in a
contract => needs an augmenting method in the subclass, super => needs
an overriding method in the subclass.  The latter is true, since only
the next immediate method can reach the super class's implementation,
but inner jumps to the next augmenting method, so the former isn't
necessarily true.

svn: r18179
2010-02-19 04:27:44 +00:00
Stevie Strickland
b59955bc01 Ah, that'd be the issue. THE TESTS WERE WRONG. All's well, and I've even
added a couple more tests to make sure we apply the projections in the right
order.

svn: r18176
2010-02-19 00:34:27 +00:00
Stevie Strickland
7fe863e792 Inner tests! They almost all fail! BUT WE SHALL CHANGE THAT.
svn: r18175
2010-02-19 00:09:47 +00:00
Stevie Strickland
6fcb61cc11 Add some test cases for super.
svn: r18172
2010-02-18 23:34:35 +00:00
Stevie Strickland
f8d5234148 Simplify the test case. Also, spam both my and Sam's inboxes.
svn: r18171
2010-02-18 23:24:15 +00:00
Stevie Strickland
38522f0dca A tricky case, this.
svn: r18170
2010-02-18 23:22:51 +00:00
Stevie Strickland
cc52bcd197 Start throwing in higher-order checks.
svn: r18168
2010-02-18 23:09:42 +00:00
Stevie Strickland
8d9eda1459 I think that finishes all the first order tests.
svn: r18167
2010-02-18 22:53:35 +00:00
Stevie Strickland
b15dd9e689 You'll gasp, you'll cheer, you'll scream! MORE TESTS.
svn: r18165
2010-02-18 22:44:58 +00:00
Stevie Strickland
ce04db35a0 Rename tests to be more specific, start inner tests, fix introduced bug.
svn: r18164
2010-02-18 22:27:34 +00:00
Stevie Strickland
690b82da14 Check lots of crazy special cases for super contracts.
svn: r18163
2010-02-18 22:16:29 +00:00
Stevie Strickland
7abafad8b1 Tests of super contracts. Failing test here, because we're not checking for
non-final public methods when adding super (or later, override) contracts.
We should check for that in both cases, as the contract suggests that the
method in question is overrideable.

svn: r18160
2010-02-18 21:54:27 +00:00
Stevie Strickland
0971d37b70 Add first order checks for public fields and methods for both class/c
and object/c.

svn: r18159
2010-02-18 21:50:55 +00:00
Stevie Strickland
6e462ecb38 Forgot to quote the test expressions, which showed up once I added a
testcase for a blame error.

svn: r18158
2010-02-18 21:42:20 +00:00
Stevie Strickland
eeb2b52731 Start the MASSIVE TESTSUITE.
svn: r18157
2010-02-18 21:37:55 +00:00
Jay McCarthy
fb73b168d1 Adding testing for zo parser/marshaller/decompiler
svn: r18155
2010-02-18 21:07:05 +00:00
Robby Findler
8424dea37b avoid doing mac os x-specific tests unless under mac os x
svn: r18154
2010-02-18 20:36:03 +00:00
Kevin Tew
202c056c53 tests file.ss use random port
svn: r18151
2010-02-18 18:54:53 +00:00
Jay McCarthy
25dbc6a418 Test cleanup
svn: r18150
2010-02-18 16:14:41 +00:00
Robby Findler
b51f3e0940 more debugging information printed
svn: r18148
2010-02-18 13:54:39 +00:00
Robby Findler
66e329c21b updated pconvert to use the new arguments to make-hash and friends
svn: r18128
2010-02-17 21:20:39 +00:00
Robby Findler
5763cc0104 added some debugging printouts to try to find out how to make this work in drdr
svn: r18123
2010-02-17 20:38:07 +00:00
Matthew Flatt
91d725fbb9 add optional initialization argument to make-hash (and variants)
svn: r18120
2010-02-17 17:44:29 +00:00
Jay McCarthy
9a468dd9d0 Fixing error message re Robby and rearranging tests a little
svn: r18117
2010-02-17 16:04:13 +00:00
Robby Findler
445ec5c145 refactored the mutator test case generator to make testing more tractable and added some tests (and fixed a bug)
svn: r18113
2010-02-17 15:37:27 +00:00
Robby Findler
6565005468 checking this in to be able to show it to Jay
svn: r18111
2010-02-17 15:14:49 +00:00
Stevie Strickland
35afebaea3 Change object-contract to use find-method/who (already exported for Typed
Scheme) to look for the appropriate method to wrap, which makes Robby's
object-contracts appropriately translucent during contract wrapping.

svn: r18102
2010-02-16 19:58:07 +00:00
Jay McCarthy
520b4feedc Adding PLAI software to the core
svn: r18101
2010-02-16 18:56:44 +00:00
Robby Findler
b73613460b added a test that saves and reopens a file in the teaching languages
svn: r18088
2010-02-15 18:39:15 +00:00
Sam Tobin-Hochstadt
90c8fcff11 Generate proper contracts for polymorphic struct types.
Document `Nothing'.

svn: r18074
2010-02-12 21:57:58 +00:00
Matthew Flatt
38a0f6d89a fix the actual result value for unboxed flmin and flmax
svn: r18045
2010-02-11 04:00:18 +00:00
Sam Tobin-Hochstadt
8bf908d106 More restrictive handling of contracts for the `Any' type.
svn: r18043
2010-02-10 20:45:50 +00:00
Robby Findler
8f5d2e1864 apparently the 1 pixel circle under linux draws in exactly one pixel when not in smoothed mode, which broke a test case; so that's changed now
svn: r18037
2010-02-10 17:40:21 +00:00
Robby Findler
4e92d54b28 possible fix to module lang test suite
svn: r18020
2010-02-08 19:44:01 +00:00
Sam Tobin-Hochstadt
55a48ca594 Fix a number of bugs reported by eli
svn: r18017
2010-02-08 18:17:15 +00:00
Robby Findler
49702f8f59 moved temp files into the temp directory
svn: r18015
2010-02-08 17:40:46 +00:00
Carl Eastlund
fe40d3e888 Merged changes from trunk.
svn: r18007
2010-02-06 19:23:24 +00:00
Robby Findler
75a60162b0 another attempt to get the drscheme gui test suite in shape to be run by drdr
svn: r18004
2010-02-06 17:13:49 +00:00
Eli Barzilay
3a08648dab Added a `running' state, which is visible only from inside the
generator.  (Also considered making it an error when the generator is
called while it is running, but that doesn't allow (yield (yield X))
fun.)

svn: r17982
2010-02-05 03:22:09 +00:00
Eli Barzilay
f1dcf49d38 Added `generator-state', implemented using a local state (which also
simplifies the code that raises an error from the last change).

svn: r17980
2010-02-05 03:22:04 +00:00
Eli Barzilay
505034ea26 The generator function can now be used to send values to the generator.
For example,

  (define g (generator (yield (yield (yield 1)))))
  (list (g) (g 2) (g 3) (g 4) (g) (g))

evaluates to '(1 2 3 4 4 4).  This is something that Python does (as a
generator.send method), which might be useful for using generators as
co-routines, and it is actually easy to implement since sending values
is exactly what we get when the generator call is actually calling the
saved continuation.  So most of the change is dealing with the
technicalities of throwing an error when the generator is called with
some arguments, when that's done after it's terminated (at the stage
where it's repeating the last value for ever).

A few tests added for this.

svn: r17979
2010-02-05 03:22:01 +00:00
Eli Barzilay
c88a5a6856 A bunch of additional typos
svn: r17976
2010-02-05 03:21:52 +00:00
Carl Eastlund
2e3ea3d0de Merged latest changes from the trunk.
svn: r17974
2010-02-05 02:41:24 +00:00
Matthew Flatt
3812f8ca72 improve inling to support ((let (....) (lambda ....)) arg ...) patterns; allow nested 'let's for local flonum binding (which fixes a problem where unsafe flonum operations could end up much slower than safe ones)
svn: r17972
2010-02-05 00:16:06 +00:00