Commit Graph

892 Commits

Author SHA1 Message Date
Stevie Strickland
87c5e94fc3 Filter out overrideable checks for both super and override contracts, add
check against final methods (and change check for augmentable ones).

svn: r18161
2010-02-18 22:06:41 +00:00
Stevie Strickland
126c3958b2 Add in different method tables for super calls and internal dynamic dispatch.
Eventually the latter will become a table to vectors of methods instead, but
until I start handling override/augment contracts, we can use the simplified
version.

svn: r18153
2010-02-18 19:50:59 +00:00
Stevie Strickland
b18283b626 Keeping up with trunk.
svn merge ^/trunk

svn: r18145
2010-02-18 04:34:09 +00:00
Stevie Strickland
eea685c1cf I didn't fix object-contract from mzlib/contract, just from scheme/contract.
I don't plan on fixing the former at the moment, so I'll just add back these
two accessors so that it's happy.

svn: r18144
2010-02-18 04:22:45 +00:00
Stevie Strickland
43613389a7 Add class/c and object/c forms, including first-order checks and basic
projections that only perform first-order checks.  To add full projections,
also need to change the class struct.

svn: r18143
2010-02-18 04:02:12 +00:00
Stevie Strickland
fa5ed2c160 Fix object-contract's first-order property to do some reasonable first-order
checking, instead of always failing.

svn: r18121
2010-02-17 19:09: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
Matthew Flatt
6f0d6b28de some mz and ffi changes from the mr2 branch
svn: r18099
2010-02-16 17:55:28 +00:00
Matthew Flatt
aad22e2c3e restore scheme/future
svn: r18032
2010-02-09 17:19:58 +00:00
Robby Findler
e581ac7bfd made room for some tests in here and added them
svn: r18028
2010-02-09 14:53:09 +00:00
Carl Eastlund
fe40d3e888 Merged changes from trunk.
svn: r18007
2010-02-06 19:23:24 +00:00
Eli Barzilay
0725ba7608 Reformat
svn: r17988
2010-02-05 03:22:26 +00:00
Eli Barzilay
2cc4429c62 When constructing code, use the `object-name' of the input port *only*
if it's coming from a file -- not when it's a string.  In that case, use
`#f' for the name, so other code (specifically, `input->code') will use
'program.

svn: r17987
2010-02-05 03:22:23 +00:00
Eli Barzilay
a4954b774d Use optional arguments instead of `case-lambda'.
svn: r17986
2010-02-05 03:22:21 +00:00
Eli Barzilay
536d0266df Use unsafe operations in `sort'. It has been running in safe mode for a
while with no errors reported, and this change is done now when there's
time before the next release.

svn: r17985
2010-02-05 03:22:17 +00:00
Eli Barzilay
2368290cdb Test now that the generator is not in a running state when it's called.
The previous problem was just a bug.

svn: r17984
2010-02-05 03:22:15 +00:00
Eli Barzilay
d5822a3ee5 Remove the special case hack for getting zero values at the end of a
generator.  This will make this:

  (generator (yield 1) (yield))

also repeat #<void> when it's done which will be very confusing.  Better
just add a note in the docs on (generator (yield 1)) returning no values
when it's done.

Also, remove some of the `case-lambda' optimizations...

svn: r17983
2010-02-05 03:22:12 +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
2f62cb192e Allow using `yield' with any number of arguments which will be returned
as multiple values.  (These `case-lambda's are for making it fast, which
is probably stupid given how slow this is anyway.)

svn: r17981
2010-02-05 03:22:07 +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
18c8e41fac Make it possible for the last expression in the body of a generator to
return any number of values.  They will be collected and used as the
repeat-forever result of calling the generator again.

Note: there's an exception for using no values -- instead of returning
no values forever, use void, since no values can be more surprising, and
it can happen when someone uses something like

  (generator (yield 1) (yield 2) (yield 3))

since the result of `yield' is (values).  (This will change in a
following commit, but even then it will be popular since people will
usually invoke the generator with no arguments which leads to the zero
values.  Could be solved if you use (g (void)) -- but that's awkward, I
think.)

svn: r17978
2010-02-05 03:21:59 +00:00
Eli Barzilay
c88a5a6856 A bunch of additional typos
svn: r17976
2010-02-05 03:21:52 +00:00
Carl Eastlund
2e64069d14 Re-disabled legacy (contract ...) form.
svn: r17960
2010-02-03 17:08:26 +00:00
Carl Eastlund
1d4cdbeb45 Exports from scheme/contract/private/blame: removed constructor; fixed confusing selector names.
svn: r17909
2010-01-31 03:03:30 +00:00
Carl Eastlund
d5329eb2a6 Make contract form more permissive; import make-blame.
svn: r17908
2010-01-31 01:48:08 +00:00
Carl Eastlund
bf308563d2 Hide make-blame; remove blame-positive and blame-negative; make blame objects transparent (but allow equal?).
svn: r17907
2010-01-31 01:47:48 +00:00
Carl Eastlund
f8df3608d4 Hide "make-blame" from normal export.
svn: r17906
2010-01-31 01:47:07 +00:00
Carl Eastlund
0e697067cb Uniformly "unpack" contract blame party names.
svn: r17904
2010-01-31 00:30:00 +00:00
Carl Eastlund
29b628cb0a Fixed legacy projections to allow 4 or 5 arguments.
svn: r17903
2010-01-31 00:29:37 +00:00
Carl Eastlund
7d577d9d02 Removed an unnecessary require.
svn: r17901
2010-01-30 21:45:52 +00:00
Carl Eastlund
2772ffccba Restored legacy functions for custom contracts.
svn: r17900
2010-01-30 21:14:27 +00:00
Carl Eastlund
2513e7d6e0 Merged changes from the trunk.
svn: r17892
2010-01-30 04:59:20 +00:00
Eli Barzilay
4cb01a48b3 only for programs
svn: r17835
2010-01-26 15:04:51 +00:00
Eli Barzilay
04725539c7 Propagate path to syntax source of evaluated files when applicable
Set `current-load-relative-directory' based on path when it names a directory.

svn: r17826
2010-01-25 21:02:15 +00:00
Carl Eastlund
7f58c26709 Replaced uses of quote-srcloc with quote-syntax.
svn: r17757
2010-01-19 23:25:07 +00:00
Carl Eastlund
791178a549 Fixed printing of blame error messages to use display and write appropriately.
svn: r17753
2010-01-19 09:28:28 +00:00
Carl Eastlund
51983e3829 Fixed simple-contract stronger check.
svn: r17752
2010-01-19 09:28:08 +00:00
Carl Eastlund
6a0469b680 Fixed detection of printable contracts in dependent struct contracts.
svn: r17751
2010-01-19 09:27:51 +00:00
Carl Eastlund
9506494416 Fixed a shadowed name
svn: r17743
2010-01-19 07:28:06 +00:00
Carl Eastlund
d01e61508f Fixed a blame assignment typo.
svn: r17741
2010-01-19 07:14:00 +00:00
Carl Eastlund
5d7774e7b2 Fixed test for procedure?, which now recognizes flat contracts, and typo for contract-projection.
svn: r17738
2010-01-19 05:59:47 +00:00
Carl Eastlund
4b739b5f62 Removed obsolete build-src-loc-string
svn: r17734
2010-01-19 03:43:00 +00:00
Carl Eastlund
3921e16aa1 Updated lingering use of old src-info format.
svn: r17732
2010-01-19 03:41:30 +00:00
Carl Eastlund
4de3ee3a9e Re-enabled 4-argument contract macro, and added more output to misuse messages.
svn: r17731
2010-01-19 03:41:03 +00:00
Carl Eastlund
2f2068356c Replaced mistaken #f with srcloc.
svn: r17730
2010-01-19 03:39:28 +00:00
Carl Eastlund
9fbf023d90 Took collection path simplification out of this file.
svn: r17729
2010-01-19 03:38:55 +00:00
Carl Eastlund
0edd786361 Removed more occurrences of old source info representation.
svn: r17724
2010-01-18 23:24:34 +00:00
Carl Eastlund
167c9cb1a8 Changed contract source locations to perform module resolution in advance.
svn: r17723
2010-01-18 23:11:12 +00:00
Carl Eastlund
54d5b0ac7f Updated predicate list in scheme/exists/lang based on contract library changes.
svn: r17721
2010-01-18 18:53:06 +00:00
Carl Eastlund
6ac7fe78e6 Ported object contracts to new properties.
svn: r17719
2010-01-18 18:32:26 +00:00
Carl Eastlund
1014dd2da4 Converted provide.ss to use new contract form and deference variable-reference.
svn: r17716
2010-01-18 17:05:06 +00:00
Carl Eastlund
124050d54e Converted current-contract-region to dereference variable-reference.
svn: r17715
2010-01-18 17:04:44 +00:00
Carl Eastlund
b0c93342d9 Fixed type error in source location conversion.
svn: r17714
2010-01-18 17:04:01 +00:00
Carl Eastlund
4d22b7a5f4 Allowed path values in blame s-expressions.
svn: r17708
2010-01-17 18:50:55 +00:00
Carl Eastlund
4e3874a1c5 Moved path pretty-printing into blame module.
svn: r17707
2010-01-17 18:50:40 +00:00
Carl Eastlund
00d79083e3 Slight changes to new contract protocol.
svn: r17705
2010-01-17 18:35:19 +00:00
Carl Eastlund
b24b946155 Added explicit checks for saner contract protocol.
svn: r17704
2010-01-17 18:02:39 +00:00
Carl Eastlund
bb7bd9de51 Typos and type errors in new property stuff.
svn: r17700
2010-01-17 07:23:47 +00:00
Carl Eastlund
e408fd464b Propagated guts exports through scheme/contract/base and scheme/contract.
svn: r17698
2010-01-17 06:18:13 +00:00
Carl Eastlund
7716e58f61 Ported basic-opters.ss to new properties.
svn: r17697
2010-01-17 06:12:59 +00:00
Carl Eastlund
336dd1b808 Ported ds.ss to new properties.
svn: r17696
2010-01-17 06:10:29 +00:00
Carl Eastlund
41bd96f6aa Made blame objects transparent to allow equal?
svn: r17695
2010-01-17 06:10:09 +00:00
Carl Eastlund
da89b2146f Reindented.
svn: r17694
2010-01-17 05:58:43 +00:00
Carl Eastlund
2ed1f852aa Ported misc.ss to new properties.
svn: r17693
2010-01-17 05:44:54 +00:00
Carl Eastlund
41565a3869 Ported exists.ss to new properties.
svn: r17692
2010-01-17 05:24:00 +00:00
Carl Eastlund
ee944b575a Ported base.ss to new properties.
svn: r17691
2010-01-17 05:18:49 +00:00
Carl Eastlund
42b3b8820b Added simplification of collects paths to blame error printing.
svn: r17690
2010-01-17 05:18:37 +00:00
Carl Eastlund
18e33c2ce1 Exported source->name function.
svn: r17689
2010-01-17 05:18:13 +00:00
Carl Eastlund
ed47b31635 Updated arrow.ss to new properties.
svn: r17688
2010-01-17 04:17:40 +00:00
Carl Eastlund
d10eea83e7 Ported opt-guts.ss and opt.ss to use new properties.
svn: r17687
2010-01-17 03:54:22 +00:00
Carl Eastlund
1d9b4a79b7 Reimplemented guts based on new properties.
svn: r17686
2010-01-17 03:36:56 +00:00
Carl Eastlund
05c4296eca Fixed evaluation order.
svn: r17685
2010-01-17 03:36:17 +00:00
Carl Eastlund
ff00fefb2d Core implementation of new contract datatypes.
svn: r17684
2010-01-17 02:54:55 +00:00
Eli Barzilay
6b7c199326 * Some reorganization of code
* Rename `make-repeated-sequence-generator' -> `sequence->repeated-generator'
* Several tests for `sequence->generator'

svn: r17586
2010-01-09 04:45:39 +00:00
Jon Rafkind
a0ba9a7649 add sequence->generator and change make-repeated-sequence-generator to use that instead of infinite-generator
svn: r17583
2010-01-08 22:02:42 +00:00
Matthew Flatt
d1e979c4c5 check arguments of scheme/math functions (PR 10197)
svn: r17565
2010-01-08 13:50:21 +00:00
Jon Rafkind
db44bb9e7a add infinite-generator and make-repeated-sequence-generator
svn: r17559
2010-01-07 23:23:56 +00:00
Jon Rafkind
db6a9de7ed add 'infinite' generator
svn: r17552
2010-01-07 21:53:37 +00:00
Eli Barzilay
220801c80c typo in error message
svn: r17526
2010-01-07 03:39:33 +00:00
Eli Barzilay
39595d2d05 faster version of the code
svn: r17525
2010-01-07 03:38:23 +00:00
Matthew Flatt
41261c6047 fill out fl and fx operations; repair fixnum-overflow bug in quotient
svn: r17524
2010-01-07 03:30:33 +00:00
Robby Findler
ccacf5a651 svn: r17509 2010-01-06 21:25:00 +00:00
Robby Findler
d014e0d0d8 improved along the lines of Eli's suggestions
svn: r17507
2010-01-06 21:22:29 +00:00
Robby Findler
c8410ef36d svn: r17506 2010-01-06 21:16:49 +00:00
Robby Findler
68efb4008a normalized the results of procedure-arity
svn: r17504
2010-01-06 19:34:29 +00:00
Sam Tobin-Hochstadt
a45c788749 remove useless code
svn: r17496
2010-01-06 16:52:07 +00:00
Sam Tobin-Hochstadt
ac9d2d8d9e Support prefab struct literals in quasipatterns.
Fixes PR 10050.

svn: r17495
2010-01-06 16:41:17 +00:00
Sam Tobin-Hochstadt
b802c7dfd0 Fix PR 10140
svn: r17473
2010-01-04 01:12:58 +00:00
Matthew Flatt
1dec25d99d remove stx-cert transparency on scheme/base lambda expansion
svn: r17471
2010-01-03 18:06:52 +00:00
Matthew Flatt
38d7e8fea2 built-in fixnum ops; bug fix related to misuse of flonum ops; questionable attempt to improve inlining algorithm
svn: r17461
2010-01-02 16:33:28 +00:00
Matthew Flatt
2200ef17f5 fix problem with expansion to lambda in class form; better certficate transparency in splicing-let forms
svn: r17436
2009-12-30 12:35:21 +00:00
Robby Findler
195d608fe5 added scheme/fixnum
svn: r17391
2009-12-23 15:41:40 +00:00
Eli Barzilay
6daf99c7bf added keywords: to the custom _fun thing
svn: r17378
2009-12-21 08:52:44 +00:00
Eli Barzilay
8ce4e110e6 better names for keyword functions (avoid possible confusion)
better error

svn: r17377
2009-12-21 08:05:48 +00:00
Eli Barzilay
1530411d94 better organization for keyword parsing in _fun
svn: r17376
2009-12-21 08:00:33 +00:00
Eli Barzilay
add4f479c6 fix error
svn: r17375
2009-12-21 06:25:53 +00:00
Eli Barzilay
f1e17c7b5b svn: r17374 2009-12-21 05:47:20 +00:00
Stevie Strickland
fb85388288 Add this%, which is the class counterpart of the object reference "this".
svn: r17359
2009-12-19 20:56:40 +00:00
Matthew Flatt
fdd7122994 scheme/flonum (v4.2.3.8)
svn: r17348
2009-12-18 15:40:00 +00:00
Matthew Flatt
87f05fed95 add #:save-errno option for foreign-function types
svn: r17299
2009-12-14 23:52:23 +00:00
Matthew Flatt
294e593dd2 fix overly pessimistic 'in-naturals' when an argument is supplied
svn: r17292
2009-12-14 17:51:36 +00:00
Sam Tobin-Hochstadt
e7e34f304c Add match/derived' and match*/derived'.
Use `syntax-parse' to implement most of the match forms.
Avoid generating so much extraneous intermediate forms.
Add `go/one' for handling of `match'.
Make `cert' argument to `go' optional.

svn: r17281
2009-12-13 03:20:32 +00:00
Sam Tobin-Hochstadt
046c21b2ae Make `make-provide/contract-transformer' available. To be used in
Typed Scheme's `provide'.
Signed-Off-By: sstrickl

svn: r17280
2009-12-13 03:17:51 +00:00
Sam Tobin-Hochstadt
fde17c1567 Provide more information in `hash/c' error messages.
Signed-Off-By: sstrickl

svn: r17279
2009-12-13 03:17:05 +00:00
Sam Tobin-Hochstadt
c8c9bd0556 Add `in-bytes-lines'
svn: r17261
2009-12-10 17:01:53 +00:00
John Clements
357b8cb90b changed error message to include sizes
svn: r17246
2009-12-09 06:06:56 +00:00
Jay McCarthy
b26bdba77d Found a small error in in-port's handling of default arguments
svn: r17244
2009-12-08 22:50:43 +00:00
Eli Barzilay
1a12497bc1 optimize insertionsort: one less loop variable, one more addition, unconditional first step
svn: r17227
2009-12-06 09:11:47 +00:00
Eli Barzilay
9cc6cd0db4 moved extra promise types back to scheme/promise
svn: r17207
2009-12-05 09:28:41 +00:00
Eli Barzilay
4df0d11db5 promise code moved to scheme/private
svn: r17205
2009-12-05 09:07:17 +00:00
Stevie Strickland
d97e18c9a6 Allow for contracts without having to require scheme/contract in the
scheme/signature language.

svn: r17185
2009-12-04 21:07:13 +00:00
Ryan Culpepper
d42a6f1582 replaced at-syntax with syntax-local-eval
svn: r17168
2009-12-02 23:39:55 +00:00
Robby Findler
61da010d5f PR 10636
svn: r17163
2009-12-02 17:09:07 +00:00
Eli Barzilay
7c24f19675 what used to not work now works
svn: r17157
2009-12-02 04:57:25 +00:00
Carl Eastlund
3b9d254fda Merged changes from branches/cce/plt+contract-tests:
- Added tests for make-proj-contract
- Added tests for opt/c, specifically to track 'positive-position?' blame
- Fixed 'positive-position?' in opt/c (bug 10629)

svn: r17105
2009-11-30 04:40:51 +00:00
Matthew Flatt
f03ab78c40 another syntax hack to fix 'scheme/package'; other test corrections
svn: r17075
2009-11-27 02:12:27 +00:00
Matthew Flatt
d3fb995de1 make f64vector-ref and f64vector-set! use the unsafe versions after checking
svn: r17071
2009-11-26 16:31:43 +00:00
Eli Barzilay
4977e6bd6c Switch off unsafe operations for now, better to turn it on after the
code was used for a while.

svn: r17008
2009-11-23 18:53:13 +00:00
Eli Barzilay
0b6ae05e9b Use unsafe operations for dealing with the vectors and indexes.
svn: r17007
2009-11-23 18:51:03 +00:00
Eli Barzilay
ea94f5dea5 Added `copying-insertionsort' for small blocks, some fixes.
svn: r17006
2009-11-23 18:50:12 +00:00
Eli Barzilay
ab832a3b4d Optimize copying-quicksort by passing around only two indexes and the
length of the block.

svn: r17005
2009-11-23 18:49:38 +00:00
Eli Barzilay
d46beb2325 Works on lists of any size now.
svn: r17004
2009-11-23 18:48:46 +00:00
Eli Barzilay
c68eeb97ca Further optimizations to `merge'.
svn: r17003
2009-11-23 18:48:06 +00:00
Eli Barzilay
ebfdbe4bb0 Combined the two merge functions into one macro, and improved it a little.
svn: r17002
2009-11-23 18:47:32 +00:00
Eli Barzilay
a272c479a6 First version of a vector-based "half-copying" merge sort, which will end up
being more than twice faster than the current version.

[Currently works only with 2^n lists, and otherwise broken -- committed
to keep the development history in svn.]

svn: r17001
2009-11-23 18:46:40 +00:00
Matthew Flatt
f719aac2be scheme/future, sequential futures implementation when --enable-futures not specified; doc updates
svn: r16999
2009-11-23 18:12:23 +00:00
Jay McCarthy
7662ef4bc1 Eli says it is a bad hack.
svn: r16998
2009-11-23 18:04:15 +00:00
Jay McCarthy
342fb61208 There is a race condition in this code. This doesn't totally fix it, if another process is creating and deleting the directory quickly, but it will help.
svn: r16996
2009-11-23 17:20:41 +00:00
Eli Barzilay
35b62665ae fix error messages
svn: r16933
2009-11-21 00:16:08 +00:00
Robby Findler
7b6eb65d79 vector-copy now works for empty vectors
svn: r16930
2009-11-20 22:43:01 +00:00
Stevie Strickland
71eef1bbd8 Allow for changing the name on flat contracts via flat-named-contract.
svn: r16928
2009-11-20 20:45:45 +00:00
Eli Barzilay
e2cd7a51e5 Fixed a comparison that was too strict, making the code go to the
general case on lists of length 3.  (Didn't have much effect since it's
only the toplevel comparison).

svn: r16899
2009-11-19 21:58:44 +00:00
Eli Barzilay
518a9d2df1 added path-up to scheme/require
svn: r16824
2009-11-17 08:11:44 +00:00
Eli Barzilay
86aabe4d34 misc improvements to the code
svn: r16819
2009-11-16 22:39:18 +00:00
Eli Barzilay
b1f5b0652c new kinds of promises
svn: r16807
2009-11-16 11:06:47 +00:00
Eli Barzilay
77d9f02c90 work around name problem in promise, avoid keeping the original exn in syntax errors in eli-tester
svn: r16796
2009-11-16 04:34:13 +00:00
Eli Barzilay
b79734941f separate out reify-result
svn: r16793
2009-11-16 02:23:18 +00:00
Sam Tobin-Hochstadt
fb29a2498e Move a bunch of functions from typed-scheme/utils/utils to unstable.
Add convenience lib for unstable docs.
Add char support to format-{id,symbol}
Add unstable/sequence library.

svn: r16789
2009-11-15 22:15:29 +00:00
Eli Barzilay
8e3ec9d3bf * Improve naming convention -- always use v' for values and p' for promises
* When `force/composable' reaches a promise, use `force' to dispatch on the
  kind of promise
* Minor printer tweaks (print "raise" for non-exceptions)

svn: r16772
2009-11-14 22:30:55 +00:00
Eli Barzilay
e7614fd491 more reorganization, centrelized macro for all delays -- can deal with keyword arguments, and accepts multiple expressions (since these will be sensible in new kind of promises)
svn: r16765
2009-11-14 05:57:27 +00:00
Eli Barzilay
2b4c9eb0d0 major code reorganization: it is now simpler than its srfi-45 roots, faster, and extensible (internally, to add new promise types)
svn: r16754
2009-11-13 19:17:53 +00:00
Eli Barzilay
61e5c3e41e use unsafe struct accessors and pair ops (using #%unsafe, because going throught scheme/unsafe/ops will lead to a cycle)
svn: r16744
2009-11-13 12:43:15 +00:00
Eli Barzilay
82f10f35a5 minor reorganizations
svn: r16743
2009-11-13 12:27:42 +00:00
Eli Barzilay
44d88cee6b newlines at EOFs
svn: r16630
2009-11-09 03:49:50 +00:00
Robby Findler
d5b5351751 improved domain check
svn: r16611
2009-11-07 17:29:50 +00:00
Robby Findler
667e967085 added order-of-magnitude from Jos Koot and some tests for other scheme/math stuff
svn: r16607
2009-11-07 14:26:39 +00:00
Eli Barzilay
29184f50ca clarify optimization choice
svn: r16588
2009-11-06 22:34:26 +00:00
Eli Barzilay
69e90b7ef3 #:key argument to remove-duplicates
svn: r16587
2009-11-06 22:32:53 +00:00
Matthew Flatt
c880b2119c fix problems with recent FFI changes
svn: r16565
2009-11-05 20:29:18 +00:00
Stevie Strickland
c993533814 Change from (module ...) -> #lang and also move any mzscheme -> scheme/base.
svn: r16563
2009-11-05 17:18:54 +00:00
Matthew Flatt
c49b22fa2c change _pointer to mean a reference to non-GCed memory; add _gcpointer (v4.2.2.6)
svn: r16546
2009-11-04 19:28:04 +00:00
Matthew Flatt
4edc044cb6 source locations for 'for' loops in stack traces
svn: r16545
2009-11-04 19:17:31 +00:00
Eli Barzilay
705f21187c more fixes
svn: r16514
2009-11-03 05:47:29 +00:00
Eli Barzilay
891b14c98d several typos
svn: r16513
2009-11-03 05:07:33 +00:00
Eli Barzilay
00ada47764 tabs and indentation
svn: r16512
2009-11-03 04:39:13 +00:00
Sam Tobin-Hochstadt
149e695a55 New `scheme/vector' library.
svn: r16511
2009-11-03 04:16:48 +00:00
Jon Rafkind
f99c5f276c print value of the super class in error messages
svn: r16482
2009-10-30 17:50:15 +00:00
Eli Barzilay
cf91b7c254 Use in-producer' for in-input-port-chars' and `in-input-port-bytes'.
(The non-macro version of `in-input-port-bytes' still uses
`:input-port-gen', since it's needed anyway.)

svn: r16475
2009-10-30 13:34:33 +00:00
Eli Barzilay
4f002bb7bb Redo in-port' and in-lines' using `in-producer', since this gives us a
faster macro version for the loops.

svn: r16474
2009-10-30 11:10:05 +00:00
Eli Barzilay
c049ccca3a minor fixes
svn: r16473
2009-10-30 10:48:38 +00:00
Eli Barzilay
52ac79406b some reformatting
svn: r16472
2009-10-30 10:46:18 +00:00
Eli Barzilay
87a5092c82 added error checking for the reader, some shuffling
svn: r16471
2009-10-30 08:24:57 +00:00
Eli Barzilay
55506e6ecf remove dependency which leads to bad error message anyway
svn: r16470
2009-10-30 08:06:32 +00:00
Eli Barzilay
bfb3fd2d67 switch to #lang
svn: r16469
2009-10-30 08:01:43 +00:00
Eli Barzilay
6d2756c562 more minorities
svn: r16466
2009-10-30 07:47:15 +00:00
Eli Barzilay
f0f9e995d6 minor reformatting, remove unused file-size
svn: r16465
2009-10-30 07:36:37 +00:00
Sam Tobin-Hochstadt
653d0ccd66 Add in-port', port->list', `file->list'.
Add documentation, tests for above.
Allow procedure argument to `fold-files' to return 2 values in all cases.
Document, test.

svn: r16453
2009-10-29 18:49:34 +00:00
Robby Findler
4ddbe71e2d fixed the comparison contracts so they work right wrt to complex numbers
svn: r16445
2009-10-28 16:04:39 +00:00
Kevin Tew
ac7853dc00 Allow binding to ephemeral ports
svn: r16382
2009-10-20 17:00:20 +00:00
Stevie Strickland
a7ff1cba83 Add definition checks back.
svn: r16377
2009-10-19 23:45:06 +00:00
Stevie Strickland
c17885638a * Fix with-contract so that all uncontracted names are automatically exported
* Also allow mutation of contracted names that flow in/out of with-contract.

svn: r16376
2009-10-19 23:17:30 +00:00
Robby Findler
7dbd784048 PR 10518
svn: r16282
2009-10-08 16:32:37 +00:00
Matthew Flatt
4e35bda756 add some missing prefixes for static struct info
svn: r16219
2009-10-02 17:38:15 +00:00
Kevin Tew
a25ddaae54 kernstruct.ss in scheme/private, makeexn generates kernstruct.ss
svn: r16215
2009-10-02 14:31:45 +00:00
Sam Tobin-Hochstadt
65d804d286 Add disappeared-use properties for struct ids.
Fix bug with handling of identifier as second arg to `define-match-expander'

svn: r16201
2009-10-01 18:59:12 +00:00
Matthew Flatt
95235a4522 fix problem with regexp-match*, etc. and byte regexps (merge to 4.2.2)
svn: r16133
2009-09-26 18:50:41 +00:00
Matthew Flatt
eab6803895 change sandbox to allow read from the planet directory; delay some path calculations in other libraries to avoid sandbox prohibitions (but the ones in Scribble seem like too much)
svn: r16122
2009-09-24 14:54:15 +00:00
Jon Rafkind
ded3dc04ba export mzlib/trace from the scheme collection
svn: r16106
2009-09-22 04:39:20 +00:00
Stevie Strickland
636adcc142 Refactoring all the private contract stuff into its own playpen.
svn: r16052
2009-09-17 20:55:37 +00:00
Stevie Strickland
3805186531 Add scheme/contract/base.
svn: r16051
2009-09-17 19:52:00 +00:00
Stevie Strickland
70e8f21ba2 Refactoring scheme/private/contract into reasonably sized pieces.
svn: r16049
2009-09-17 19:45:56 +00:00
Stevie Strickland
aca0bcf82e First moving private/contract.ss to a different name. The diaspora from
that file into others will happen next.

svn: r16048
2009-09-17 17:42:45 +00:00
Eli Barzilay
80a386e482 minor fixes
svn: r16012
2009-09-14 21:21:28 +00:00
Jon Rafkind
6137510396 make generators use a parameterized yield function
svn: r16010
2009-09-14 21:11:07 +00:00
Matthew Flatt
374a70d9f1 move pretty-print implementation from mzlib to scheme
svn: r15990
2009-09-13 13:56:22 +00:00
Jon Rafkind
bba25510ea define-struct/contract:
fix looping over keywords
  allow #:property keyword
  cleanup syntax errors

svn: r15973
2009-09-11 17:37:40 +00:00
Matthew Flatt
d4e40e0b25 fix some problems with sandboxes and extension (PR 10381) and Snow Leopard extension building (also demonstrated by PR 10381)
svn: r15964
2009-09-10 19:39:37 +00:00
Matthew Flatt
8ae0ea9d14 unsafe ops (v4.2.1.8)
svn: r15899
2009-09-06 18:24:46 +00:00
Stevie Strickland
3c5511e5b0 We shouldn't blame the context for both positive and negative here -- the
positive blame should be the struct itself.  We'll get that blame via
(current-contract-region), since the expression is within the with-contract.

svn: r15890
2009-09-05 17:33:28 +00:00
Jon Rafkind
e9e1d4b5b7 define-struct/contract can handle sub-typing now
svn: r15887
2009-09-05 16:47:59 +00:00
Robby Findler
5f688d1144 added scheme/exists lang and some docs in the guide about #:exists contracts
svn: r15879
2009-09-04 17:58:08 +00:00
Robby Findler
937d2efab3 added exists to provide/contract
svn: r15871
2009-09-04 04:52:02 +00:00
Robby Findler
4532602b5a svn: r15854 2009-09-01 21:43:41 +00:00
Robby Findler
5c73253e03 changed the low-level api for contracts so the projections accept an extra argument indicating if the contract is being used positively or negatively
svn: r15850
2009-09-01 16:25:08 +00:00
Ryan Culpepper
38fc6c8e67 fixed PR 10418 (keyword args in procedure contracts)
svn: r15847
2009-09-01 15:08:06 +00:00
Ryan Culpepper
d015699db5 fixed typo
svn: r15830
2009-08-29 23:02:55 +00:00
Eli Barzilay
9ecbffa70e svn: r15818 2009-08-27 20:34:18 +00:00
Jon Rafkind
e4f86edbed a few name changes
svn: r15816
2009-08-27 16:42:12 +00:00
Eli Barzilay
78471a5b86 better name-age
svn: r15815
2009-08-27 16:08:27 +00:00