Commit Graph

382 Commits

Author SHA1 Message Date
Robby Findler
d8217b9d27 added first stages of improvments to contract library to support lazy structure contracts. not yet complete, but contract system is in working order, so committing
svn: r2452
2006-03-18 05:33:08 +00:00
Matthew Flatt
17670dd89d moddep contracts and testing
svn: r2407
2006-03-10 03:35:23 +00:00
Robby Findler
7249080888 svn: r2393 2006-03-08 17:23:45 +00:00
Eli Barzilay
776e15490e * Arguments can now be passed directly as lists
* Keywords are compared for the literal symbol instead of comparing ids
* Added tests for the above
* Some re-formatting

svn: r2356
2006-03-03 14:48:22 +00:00
Robby Findler
873e71a9dd fixed PR 7927
svn: r2341
2006-03-02 02:48:40 +00:00
Eli Barzilay
70d2fa327d When both optionals and keywords are used, the first keyword marks the end
of the optionals.

svn: r2322
2006-02-27 04:42:27 +00:00
Matthew Flatt
d9e3e1e267 make serialization work right when a module is dynamic-required using a (non-string) path
svn: r2321
2006-02-26 17:45:37 +00:00
Robby Findler
3172ffd027 added contract-violation->string parameter
svn: r2314
2006-02-24 15:37:58 +00:00
Eli Barzilay
67e5151775 fix expansion problems
svn: r2312
2006-02-24 13:14:04 +00:00
Matthew Flatt
6ddea0a0f5 when writing a .zo fails, delete the bad file
svn: r2310
2006-02-23 20:53:41 +00:00
Eli Barzilay
f41698de15 optimize keyword-get
svn: r2305
2006-02-23 18:20:58 +00:00
Matthew Flatt
a59d668f6d Jepri's changes so that md5 works on ports
svn: r2194
2006-02-11 05:35:35 +00:00
Matthew Flatt
c5a6d3d046 give the compiler hints with define-const
svn: r2191
2006-02-10 22:03:13 +00:00
Matthew Flatt
144b8d6593 report unexpected EOF in inflate/gunzip
svn: r2190
2006-02-10 21:42:31 +00:00
Robby Findler
106c19a461 added tests for or/c ordering and and/c ordering and fixed name of the or/c contract (so it doesn't claim to be a union contract anymore)
svn: r2100
2006-02-03 04:07:25 +00:00
Robby Findler
fddb1fa862 updated many unions to or/c's
svn: r2061
2006-01-31 19:17:33 +00:00
Robby Findler
c43a6f2821 added or/c as alias for union
svn: r2059
2006-01-31 16:29:12 +00:00
Robby Findler
f3a8a1895d minor improvement to provide/contract expansion (making it smaller)
svn: r2033
2006-01-30 01:30:47 +00:00
Robby Findler
edc4b96987 improved expansion of -> contract combinator to generate less stuff and got a very slight performance improvement. also split up contract implementation into multiple files
svn: r1956
2006-01-25 04:44:49 +00:00
Robby Findler
12c7c0b6c6 added this, bound in ->r and ->pp contracts, when used in object-contract
svn: r1841
2006-01-16 18:42:11 +00:00
Matthew Flatt
d19819f305 the flag table is never really empty, since -h and -- are always implcitly there
svn: r1730
2005-12-31 14:01:52 +00:00
Matthew Flatt
c38876b848 300.3
svn: r1698
2005-12-27 17:49:13 +00:00
Matthew Flatt
b43abfcc6d more v300.2
svn: r1683
2005-12-24 22:47:07 +00:00
Matthew Flatt
196a6fdff3 transplant-output-port needs to return #f instead of 0 when failing to write bytes
svn: r1593
2005-12-12 16:55:36 +00:00
Matthew Flatt
81c837ad26 export inherit-field
svn: r1496
2005-12-02 19:30:57 +00:00
Matthew Flatt
0095637dd7 make pretty-print graph numbering consistent
svn: r1417
2005-11-27 13:19:31 +00:00
Matthew Flatt
78622b7bb3 moved code out of macro expansion and into functions
svn: r1409
2005-11-25 22:50:56 +00:00
Matthew Flatt
c0476d4add strip #! from start of programs
svn: r1376
2005-11-22 22:34:35 +00:00
Matthew Flatt
9fae17c411 pretty-print needs to combine custom-write? with not-struct-type?
svn: r1370
2005-11-22 15:08:23 +00:00
Sam Tobin-Hochstadt
4d6d674d9f Factor render-test-list module into 3 units.
- getbindings contains defs for next-outer, create-test-func, getbindings
- ddk-handlers containts all the ddk junk
- render-test-list-impl contains render-test-list and simple dependencies
- render-sigs contains the signatures for all 3

Add define/opt to render-helpers (maybe this should go in etc.ss).

General cleanups in ddk-handlers.

svn: r1296
2005-11-12 16:42:23 +00:00
Sam Tobin-Hochstadt
bb69014fc7 render-test-list:
- cleanups and removal of quasisyntax/loc

svn: r1281
2005-11-11 18:35:08 +00:00
Matthew Flatt
6bff44b426 shortcut to letrec-syntaxes+values
svn: r1263
2005-11-09 20:48:42 +00:00
Matthew Flatt
e46ea7dbb2 fixed mapped id application context
svn: r1198
2005-11-01 20:13:36 +00:00
Eli Barzilay
8a425d27a6 other-keys now includes duplicates of specified keys
(if duplicates are allowed)

svn: r1149
2005-10-25 00:58:37 +00:00
Eli Barzilay
9ef65a4a80 * getarg' -> keyword-get'
* `#:rest-keys' -> `#:other-keys+body'

svn: r1147
2005-10-24 22:15:20 +00:00
Eli Barzilay
1cf3559d0c #:allow-anything can be used with any rest-like, simply treats a last
imbalanced keyword as the beginning of the body

svn: r1141
2005-10-24 11:24:41 +00:00
Eli Barzilay
0b1034dcf8 Made #:forbid-anything be the counterpart of #:allow-anything
svn: r1140
2005-10-24 11:05:34 +00:00
Eli Barzilay
4130a38299 Don't allow dot-notation with other meta-keywords
svn: r1139
2005-10-24 10:43:32 +00:00
Eli Barzilay
acfb67ec9b Added #:allow-anything so it's possible to get extra speed
svn: r1138
2005-10-24 10:18:31 +00:00
Eli Barzilay
2415956597 * Added #:allow- and #:forbid-duplicate-keys and a check for this
* getarg accepts only thunks for a default
* Test new stuff, and better macros for testing

svn: r1137
2005-10-24 05:30:38 +00:00
Matthew Flatt
f3a67ccb9a added object-method-arity-includes
svn: r1123
2005-10-22 01:56:45 +00:00
Eli Barzilay
0de18bc3ab use (let () ...) instead of begin, so internal definitions work
svn: r1121
2005-10-21 23:02:47 +00:00
Eli Barzilay
fd7a56fb36 no need for promise defaults
svn: r1113
2005-10-20 21:56:47 +00:00
Eli Barzilay
b5835267dd Properly check a body specification
svn: r1110
2005-10-19 22:09:11 +00:00
Eli Barzilay
04d36492b5 Better error message for non-keywords
svn: r1106
2005-10-19 15:14:28 +00:00
Eli Barzilay
3494461c98 All features complete, remove utilities that don't seem necessary,
make getarg and getarg* stop at non-keyword

svn: r1103
2005-10-19 07:47:56 +00:00
Eli Barzilay
1db64d4e85 A lot more functionality (and tests), almost complete now.
svn: r1102
2005-10-19 07:05:22 +00:00
Eli Barzilay
78c19494b7 Extensive argument processing, more meta-keywords for modes,
efficient optionals, test everything so far

svn: r1099
2005-10-17 23:42:24 +00:00
Eli Barzilay
bab76d0479 * Renamed kw-proc.ss to kw..ss
* Make only #:optopnal and #:key work, no alternative names

svn: r1069
2005-10-13 16:39:51 +00:00
Eli Barzilay
3bded648f7 first version of swindle-like keywords
svn: r1060
2005-10-13 02:43:44 +00:00
Robby Findler
71a5040785 fixed pr 7628, ->d now checks the domain contract before partially applying the range function
svn: r1042
2005-10-11 12:57:57 +00:00
Matthew Flatt
57d39569fe removed #kd, fixed :interface
svn: r944
2005-09-29 20:06:09 +00:00
Matthew Flatt
898f64df63 avoid leading colon for id
svn: r940
2005-09-29 15:51:20 +00:00
Matthew Flatt
4c5aff33a8 avoid leading colon for id
svn: r939
2005-09-29 15:50:33 +00:00
Matthew Flatt
63e051aee8 removed unused :ucall
svn: r938
2005-09-29 15:50:14 +00:00
Matthew Flatt
74a64f50da avoid leading colon for id
svn: r937
2005-09-29 15:49:48 +00:00
Matthew Flatt
457d23c390 avoid leading colon for id
svn: r936
2005-09-29 15:49:27 +00:00
Eli Barzilay
6efbcbbba3 fix self-referential cstructs
svn: r924
2005-09-27 09:20:21 +00:00
Sam Tobin-Hochstadt
d96e47c4b7 plt-match.ss/match.ss:
- don't export match:test-no-order, which is only used in generated code

test-no-order.ss
- reformat code
- use ormap instead of let loop

render-test-list:
- add define/opt sugar
- remove a lot of pointless stx arguments
- remove a lot of [quasi]syntax/loc

gen-match:
- use internal define instead of let
- remove quasisyntax/loc
- reformat
- remove pointlessly optional argument

coupling-and-binding:
- reformat
- use memf instead of custom loops

svn: r908
2005-09-23 19:55:12 +00:00
Sam Tobin-Hochstadt
24b6ae4b32 Match:
- Simplify code for getter and setter handling.
- Fix cons patterns
- Reformat code to make it more readable

svn: r822
2005-09-09 22:28:47 +00:00
Sam Tobin-Hochstadt
6f8d1ef4f2 getter-setter:
- Fix bug in handling of structures with set! patterns
  nested inside other patterns.
test-structure:
- add placeholder documentation for fields
- use #f instead of (make-inspector)

svn: r812
2005-09-09 15:58:34 +00:00
Matthew Flatt
a42ef53b84 clean up files on break
svn: r605
2005-08-16 21:12:46 +00:00
Matthew Flatt
4ad1f38141 299.201
svn: r572
2005-08-09 13:41:06 +00:00
Matthew Flatt
e08138d97c added prop:print-convert-constructor-name
svn: r544
2005-08-04 03:49:35 +00:00
Robby Findler
442e9fad32 ,
svn: r531
2005-08-02 04:12:41 +00:00
Matthew Flatt
64cca08d28 fixed unit/sig rename bug - PR 7518
svn: r527
2005-08-01 22:22:57 +00:00
Robby Findler
b01290c3ef fixed bug in provide/contract
svn: r411
2005-07-21 00:22:36 +00:00
Robby Findler
4b0e802fe4 fixed bugs dealing with super structs in provide/contract and fixed (newly exposed) bugs in mrflow
svn: r391
2005-07-18 13:06:30 +00:00
Robby Findler
20aa3cef02 made struct library work better with copy-struct; still not perfect
svn: r381
2005-07-16 04:41:29 +00:00
Sam Tobin-Hochstadt
b752dcddef Fix two bugs caused by clean ups, by adding requires of match-helper and provides of match:test-no-order.
Fix totally broken handling of structs with immutable fields, as reported in bug 7398.

svn: r354
2005-07-05 22:22:02 +00:00
Robby Findler
4070be1c1a exported coerce-contract
svn: r353
2005-07-05 21:37:21 +00:00
Matthew Flatt
6f16af82f2 pretty-print bug for hash tables fixed
svn: r290
2005-07-01 15:35:52 +00:00
Matthew Flatt
c3147b6468 call security guard for truncate-file
svn: r281
2005-06-30 19:09:24 +00:00
Matthew Flatt
ba0519874a repair to truncate-file
svn: r280
2005-06-30 18:56:23 +00:00
Matthew Flatt
6d9aa4cab7 truncate-file
svn: r279
2005-06-30 17:38:52 +00:00
Matthew Flatt
3d8c40afe4 fixed verify- ops to take old-format exploded signatures
svn: r277
2005-06-30 16:40:13 +00:00
Robby Findler
e3b5ba8ef8 moved contract library to private, in order to export a few more names to special places
svn: r272
2005-06-29 23:33:51 +00:00
Matthew Flatt
0d4bc2cd9d 299.107
svn: r259
2005-06-28 17:01:03 +00:00
Matthew Flatt
e4a71a9b3c match phase clean-up and minor contract-expansion improvement
svn: r232
2005-06-22 21:31:11 +00:00
Robby Findler
06b511f323 added recursive contracts and fixed a bug or two
svn: r81
2005-06-09 18:56:19 +00:00
Eli Barzilay
daa18fcba0 typos
svn: r66
2005-06-08 00:28:39 +00:00
Eli Barzilay
017d151d59 Adding collects, with all the right properties (except eoln-style).
svn: r3
2005-05-27 18:56:37 +00:00