Commit Graph

370 Commits

Author SHA1 Message Date
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
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
294e593dd2 fix overly pessimistic 'in-naturals' when an argument is supplied
svn: r17292
2009-12-14 17:51:36 +00:00
Sam Tobin-Hochstadt
c8c9bd0556 Add `in-bytes-lines'
svn: r17261
2009-12-10 17:01:53 +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
Ryan Culpepper
d42a6f1582 replaced at-syntax with syntax-local-eval
svn: r17168
2009-12-02 23:39:55 +00:00
Eli Barzilay
7c24f19675 what used to not work now works
svn: r17157
2009-12-02 04:57:25 +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
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
Robby Findler
ed4f066bb6 svn: r15213 2009-06-19 14:57:47 +00:00
Robby Findler
ec44ee7df1 added hash/c
svn: r15210
2009-06-18 21:31:33 +00:00
Matthew Flatt
62325eb7cf fix bugs related to changes in keyword-argument error messages
svn: r15098
2009-06-05 21:45:05 +00:00
Matthew Flatt
ae7dab88d3 change expansion of application with keyword arguments to use quoted lists instead of lifting
svn: r15083
2009-06-04 21:44:20 +00:00
Matthew Flatt
118d0e7a3c adjust error messages for keyword-related function-call problems
svn: r15068
2009-06-03 19:19:48 +00:00
Matthew Flatt
43a3a326b7 hash quasiquote on hash tables (PR 10266) (merge to 4.2)
svn: r15003
2009-05-28 13:02:42 +00:00
Matthew Flatt
de0fc2e745 fix syntax patterns on prefabs (PR 10268) (merge to 4.2)
svn: r15001
2009-05-28 03:01:45 +00:00
Matthew Flatt
70859f0d0b identifier-prune-lexical-context (4.2.0.2)
svn: r14850
2009-05-17 12:31:51 +00:00
Matthew Flatt
57ff3c2486 fix foldr/foldr argument checking (PR 10215)
svn: r14706
2009-05-04 02:20:06 +00:00
Eli Barzilay
a1d943146b added a nullary case to compose
svn: r14697
2009-05-03 20:41:37 +00:00
Robby Findler
6d08558ab7 fixed a bug in my earlier bugfix (also PR 10221)
svn: r14662
2009-04-29 21:08:01 +00:00
Matthew Flatt
224f9fa3a7 fix bug in tracking paren shapes; fix Scribble binding search code; add syntax/template library
svn: r14661
2009-04-29 20:31:07 +00:00
Robby Findler
de6c1a524d PR 10219
svn: r14654
2009-04-29 16:38:31 +00:00
Robby Findler
87c9aba9e0 added a little optimization to provide/contract
svn: r14646
2009-04-29 03:48:45 +00:00
Matthew Flatt
f51f8c8b7f avoid generating unnecessary struct-accessor and -mutator names
svn: r14566
2009-04-20 13:14:40 +00:00
Matthew Flatt
4b3626c156 fix inverted argument default for editor<%> read-from-file method; better Check Sytax results on packages; added syntax/flatten-begin library
svn: r14548
2009-04-17 22:50:19 +00:00
Matthew Flatt
09320cea1c tiny object-instantiation perf. tweak
svn: r14534
2009-04-16 21:24:42 +00:00
Matthew Flatt
709ad23400 performance improvements: class local-field access uses accessor with index built in (so the index is checked once); JIT partially inlines struct-field mutation
svn: r14530
2009-04-16 19:01:20 +00:00
Stevie Strickland
b7063fc563 Fix error message in define/contract.
svn: r14522
2009-04-15 15:43:04 +00:00
Matthew Flatt
5d0416aec9 David's build-list
svn: r14472
2009-04-09 00:58:13 +00:00
Eli Barzilay
4aab5e4eab use void for true predicates, makes things run faster
svn: r14451
2009-04-08 00:02:57 +00:00
Matthew Flatt
1d26e97a35 Scheme-implemented editor classes; on-demand instantiation of module phases
svn: r14445
2009-04-07 17:12:22 +00:00
Eli Barzilay
76c2d9eceb rehack the argument formatting hack
svn: r14436
2009-04-06 12:18:42 +00:00
Eli Barzilay
2cc94cbf02 reformat some
svn: r14435
2009-04-06 11:17:15 +00:00
Eli Barzilay
06636c1813 added in-sequences and in-cycle
svn: r14424
2009-04-05 08:29:17 +00:00
Eli Barzilay
9af9210aa2 added hash-ref! and hash-has-key?
svn: r14423
2009-04-05 04:35:12 +00:00
Eli Barzilay
cb2c85956b removed unnecessary hash-ref passing in implementation of hash-update
svn: r14421
2009-04-05 00:24:47 +00:00
Eli Barzilay
daa582291c typo
svn: r14410
2009-04-03 00:26:59 +00:00
Robby Findler
2c85b7a795 improved performance of the teaching languages
svn: r14394
2009-04-01 00:15:20 +00:00
Sam Tobin-Hochstadt
40b4731106 Expand (require A ...) into (begin (require A) ...)
- docs (including discussion of require scoping)
- tests

svn: r14232
2009-03-23 14:13:10 +00:00
Matthew Flatt
7dc8e077ed add 'not-provide-all-defined and 'nonimal-id suport for rename transformers; fix scheme/foreign and foreign docs to use it
svn: r14195
2009-03-20 16:59:28 +00:00
Matthew Flatt
2109cec2f4 free-id=? propagation through module exports; add 'not-free-identifier=? syntax property to disable free-id=? propagation; add prop:rename-transformer and prop:set-transformer; fix scheme/local so that local syntax bindings are visible to later definitions (v4.1.5.3)
svn: r14191
2009-03-19 20:22:18 +00:00
Ryan Culpepper
d154493077 scheme/splicing: added splicing variants of local and letrec-syntaxes+values
svn: r14188
2009-03-19 13:45:45 +00:00
Matthew Flatt
ee084ad7ff adjust special scheme/class keywords to effectively declare themselves as expression forms (PR 10135): merge to 4.1.5
svn: r14137
2009-03-17 00:45:29 +00:00
Robby Findler
2556c61f9d PR 10078 -- NOT for inclusion in the release
svn: r14122
2009-03-16 12:06:17 +00:00
Stevie Strickland
a3035a76a8 Got the struct:x name built, but forgot just the name x for the static info,
even though I had changed with-contract to detect (uncontracted) exports of
syntax.

svn: r14004
2009-03-07 16:48:27 +00:00
Matthew Flatt
ff0b532864 adjust syntax/loc and some docs
svn: r13899
2009-03-02 22:24:25 +00:00
Stevie Strickland
3c0e17d963 Add to the error message for -> in the case of optional arguments.
svn: r13803
2009-02-23 18:49:29 +00:00
Stevie Strickland
93d6a5fc7c * Just use new marks instead of name mangling for the ctc-ids
* Set the 'inferred-name property appropriately.

svn: r13802
2009-02-23 14:36:28 +00:00