Commit Graph

821 Commits

Author SHA1 Message Date
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