Matthew Flatt
28b4043077
rename all files .ss -> .rkt
2010-04-27 16:50:15 -06:00
Matthew Flatt
a6694a08b7
fix make-base-namespace in scheme/base (PR 10870)
2010-04-26 06:47:02 -06:00
Matthew Flatt
82eb64451d
switch default configuration to have qq printing enabled, add runtime-config for scheme languages
2010-04-22 15:10:25 -06:00
Matthew Flatt
c95a398754
move most of the 'scheme' collection to the 'racket' collection
2010-04-20 15:24:48 -06:00
Matthew Flatt
9ca5f6b340
fix regexp-replace*
2010-04-16 17:27:53 -04:00
Matthew Flatt
249a9e38f7
minor regexp clean-ups
2010-04-15 10:10:19 -04:00
Matthew Flatt
4bc155905a
Perl-like handling of empty matches in regexp-match*, etc., though without Perl-like filtering of empty strings in the result of regexp-split (PR 10855)
2010-04-14 22:53:14 -04:00
Matthew Flatt
1c34ccec44
improve regexp support (PR 10855, halfway)
2010-04-14 18:40:08 -04:00
Matthew Flatt
3cc95b31ef
add prop:struct-info
...
svn: r18730
2010-04-03 13:08:39 +00:00
Matthew Flatt
2cb9f378aa
Racket experiments
...
svn: r18725
2010-04-02 21:29:59 +00:00
Matthew Flatt
b2d65a1b95
fix the interaction of chaperones, keywords, and the whole zoo of reflective procedure operations
...
svn: r18711
2010-04-01 13:14:50 +00:00
Matthew Flatt
25ede3dc50
fix reporting for some syntactic misuses of syntax-case
...
svn: r18662
2010-03-29 20:39:42 +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
Matthew Flatt
73807aef24
chaperones (v4.2.5.3)
...
svn: r18650
2010-03-28 01:10:33 +00:00
Stevie Strickland
290a73b56b
Check and unwrap instead of grabbing the property value, then using it to
...
unwrap.
svn: r18610
2010-03-24 21:32:32 +00:00
Eli Barzilay
40444fc087
Stupid $%^#*&!*ing typo. It has been in this code since the major code
...
reorganization that was included in v4.2.3. Cost me most of the night to
track down.
svn: r18592
2010-03-21 10:00:58 +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
Stevie Strickland
5145638ac5
Since we're handling initialization and the result of this wrapper is a
...
real (sub)class, we need this to be #f.
svn: r18544
2010-03-15 09:19:50 +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
f9e404afbc
* Fix bug in #:name for init contracts
...
* Apply appropriate projections to init arguments.
svn: r18537
2010-03-15 07:25:54 +00:00
Stevie Strickland
2f9717ca72
Start on the init function. First step -- just replace it if we have init
...
contracts, but don't add any checking (yet).
svn: r18536
2010-03-15 07:05:31 +00:00
Stevie Strickland
9640ea4e2c
Sort the init contract forms.
...
svn: r18535
2010-03-15 07:03:54 +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
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
77f2555b9c
Remove now-redundant object? check in is-a?
...
svn: r18448
2010-03-03 17:04:41 +00:00
Stevie Strickland
3fb2e1d9ae
Check that we have an object before trying to unwrap it in class-field-*.
...
svn: r18443
2010-03-03 14:39:44 +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
7accc0bd7d
Need to unwrap objects at two other points:
...
* When the C++ code uses direct access on objects (look for check_valid)
* In the functions returned by class-field-accessor/mutator
svn: r18344
2010-02-25 23:42:13 +00:00
Stevie Strickland
1f10c4e422
Have external field accessors/mutators just redirect to the old object
...
themselves. Also, have all objects carry the prop:unwrap property.
svn: r18330
2010-02-24 23:32:44 +00:00
Stevie Strickland
af0387e3a6
Fuck you, C, and the flea-bitten, mange-covered, syphilis-ridden horse you
...
rode in on.
svn: r18318
2010-02-24 16:35:30 +00:00
Stevie Strickland
60b6c81f9f
Okay, updates to all this crapola. Going to try and see what happens if I
...
only attach prop:unwrap to wrapped objects.
svn: r18313
2010-02-23 23:56:08 +00:00
Stevie Strickland
f60645da2c
ARGHGHGHGHGHGHGHGGHGH
...
svn: r18308
2010-02-23 21:43:08 +00:00
Stevie Strickland
e1cd160a40
Now that the C code is back at a compile-ready point, I'll check in.
...
svn: r18306
2010-02-23 20:57:22 +00:00
Stevie Strickland
472ef1e873
Other cleanups.
...
svn: r18303
2010-02-23 15:59:22 +00:00
Stevie Strickland
1eeb27fc30
Small fixes in make-wrapper-class/object.
...
svn: r18302
2010-02-23 15:58:00 +00:00
Stevie Strickland
6583b0b77c
My first foray into the C side of things.
...
svn: r18299
2010-02-23 14:55:24 +00:00
Stevie Strickland
09425bc801
Keep the original class in the supers list. Also, copy over the no-super-init?
...
flag.
svn: r18296
2010-02-23 12:51:27 +00:00
Stevie Strickland
e4f7f0032e
Get rid of the loop that's no longer a loop, and also add in the necessary
...
object unwrapping.
svn: r18288
2010-02-23 04:13:09 +00:00
Stevie Strickland
978a9586f5
We no longer need the #:error thing here, because we've fixed object-contract
...
for real now.
svn: r18286
2010-02-23 04:02:03 +00:00
Stevie Strickland
14ab0175c3
Okay, expanding field accesses and mutations to basically inline the
...
unwrapping operation helps a bit, especially with inherited fields.
Unfortunately, as one might expect, TANSTAAFL applies here. In order
to make sure that we keep the contracted objects around as much as
possible to make sure there are no holes, we end up making local and
inherited field access codes 2-3x more than they did before. However,
this is still something on the order of 5x faster than external
access. But blah.
CONTRACTS ARE NOT FREE. Just ask your local lawyer.
svn: r18285
2010-02-23 03:15:43 +00:00
Stevie Strickland
53381bbf03
Remove unwrapping in find-method/who until I figure out what I actually need
...
to do.
Also fix up is-a? and subclass? so that they should work the same when
contracts are removed from a program.
svn: r18282
2010-02-23 01:15:11 +00:00
Stevie Strickland
f1b0bfdd79
Yeah, accessors need arguments.
...
svn: r18281
2010-02-23 00:46:47 +00:00
Stevie Strickland
cfdb9dd39b
Time to unveil object/c.
...
svn: r18280
2010-02-23 00:43:25 +00:00
Stevie Strickland
ab2561e08a
Now we don't need to recur down to unwrap something, but if we get a wrapped
...
primitive object in a method send, we need to unwrap all objects for its
method.
svn: r18279
2010-02-23 00:40:59 +00:00
Stevie Strickland
2af44afb17
Now I see -- I was handling local fields in an incorrect manner. We don't
...
want later projections to affect local accesses or mutations -- so we just
have to add the unwrap check in case it's a wrapped object.
svn: r18277
2010-02-22 22:43:47 +00:00
Stevie Strickland
0e3af71176
So now object-contract works again, but we seem to have introduced a bug
...
in the class/c inherit-field form, so now time to fix that.
svn: r18276
2010-02-22 22:26:27 +00:00
Stevie Strickland
a3a1d0d9c7
Fix shadowing in make-wrapper-class. Now delay lookup for
...
accessors/mutators used for internal field access. This fixes public
fields, but not private fields. Next should fix that up.
Will definitely need to benchmark all this delay though.
svn: r18275
2010-02-22 22:10:30 +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
Stevie Strickland
815dd80923
Sync up to catch my fix.
...
svn: r18270
2010-02-22 20:58:53 +00:00