Commit Graph

309 Commits

Author SHA1 Message Date
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
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
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
4edc044cb6 source locations for 'for' loops in stack traces
svn: r16545
2009-11-04 19:17:31 +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
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
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
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
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
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
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
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
Eli Barzilay
ec9fc2571a Added `in-producer'.
(Note that `test-generator' tests use quasiquote for the expected result).

svn: r15811
2009-08-27 09:15:52 +00:00
Stevie Strickland
8ae58f1244 Primarily this is a change so that the negative party entering into
with-contract based contracts is the syntactic context of the with-contract
expression.  Also, there's some code cleanup.

svn: r15665
2009-08-03 21:15:44 +00:00
Robby Findler
b5b32d1d8e added automatic compilation to the module language, plus various other tweaks (contract library enhancement, bug fixes here and there)
svn: r15635
2009-07-30 05:17:40 +00:00
Matthew Flatt
a47d94f75f add file-or-directory-identity (4.1.2.5)
svn: r15623
2009-07-29 17:39:03 +00:00
Eli Barzilay
3b194ff070 error typo
svn: r15593
2009-07-28 06:18:28 +00:00
Eli Barzilay
af5614455a some reformatting
svn: r15592
2009-07-28 05:05:17 +00:00
Matthew Flatt
0cccedabb4 export Scheme-implemented ormap (for 1 and 2 lists), which was accidentally unexported before
svn: r15471
2009-07-17 11:08:39 +00:00
Matthew Flatt
ba87f38f72 improve checker for optional keywords
svn: r15432
2009-07-11 15:23:07 +00:00
Matthew Flatt
2b5f12b6fa fix broken 'case' improvement!
svn: r15429
2009-07-11 04:04:19 +00:00
Matthew Flatt
b2e39baa26 improve expansion of 'case' for a clause with 2 or 3 values
svn: r15428
2009-07-11 04:03:20 +00:00
Matthew Flatt
ab1db74ecc more keyword-argument performance improvements, including general fast path for applying simple applicable-struct wrappers over plain procedures
svn: r15403
2009-07-08 13:57:16 +00:00
Matthew Flatt
6d8c6e4f09 revise keyword implementation to reduce overhead
svn: r15368
2009-07-03 03:10:25 +00:00
Robby Findler
8fbc4f86aa svn: r15364 2009-07-02 16:21:40 +00:00
Robby Findler
2b5e836b74 fixed a bug mentioned on the mailing list
svn: r15352
2009-07-01 14:02:55 +00:00
Matthew Flatt
7f019819e0 allow empty splicing-syntax-parameterize body in a defn context (PR 10311)
svn: r15251
2009-06-24 13:17:17 +00:00
Matthew Flatt
8e5993f99f fix serialization problems
svn: r15241
2009-06-23 12:07:54 +00:00
Matthew Flatt
36f3ed4465 expose and support unreadable symbols, which are generated during expansion
svn: r15239
2009-06-23 00:17:45 +00:00