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
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
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
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
fb85388288
Add this%, which is the class counterpart of the object reference "this".
...
svn: r17359
2009-12-19 20:56:40 +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
a58010fd0d
scheme/class: fix local member names to provide an better message on misuse, and to declare itself as an expression form
...
svn: r13050
2009-01-09 21:00:50 +00:00
Matthew Flatt
6e9ccd3f43
better checking of case where a local name is used before it is defined (in an int-def context)
...
svn: r12659
2008-12-01 12:54:16 +00:00
Matthew Flatt
e25e7a1098
keyword in methods and apply; procedure-reduce-keyword-arity
...
svn: r9396
2008-04-22 18:00:04 +00:00
Eli Barzilay
b1a08edd5a
use new require specs in many places
...
svn: r8774
2008-02-23 09:42:03 +00:00
Robby Findler
9a0498b44d
moved class, contracts, serialize, and traits into scheme/ and changed the class and contract interface so that contracts no longer depend on the class system (instead its the other way around)
...
svn: r8017
2007-12-15 18:46:55 +00:00