Commit Graph

185 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
34aa12ddac Added expansion of match-expanders to macro-debugger. 2006-09-10 21:24:35 -04:00
Sam Tobin-Hochstadt
506c154ea8 Add new simplification pass before render-test-list.
Simplification expands match expanders and removes syntactic sugar.

Also, syntax errors are checked in the simplification phase, so better
error messages can be given.
2006-09-07 12:02:41 -04:00
Sam Tobin-Hochstadt
6034e5e0d5 fix bug with list-rest in quasi-patterns 2006-09-06 14:26:19 -04:00
Sam Tobin-Hochstadt
b1bc4714d5 update-counts: Fix a really dumb bug in logical-equal? that
caused huge time blowup.

svn: r4259
2006-09-06 16:50:50 +00:00
Sam Tobin-Hochstadt
3a77f5a914 Work toward adding simplication pass before render-test-list. 2006-09-05 18:56:04 -04:00
Robby Findler
4a6cee9cf8 fixed bug where the name has disappeared from a contract violation (and added test cases, of course)
svn: r4235
2006-09-04 02:07:01 +00:00
Sam Tobin-Hochstadt
32e8e72175 gen-match:
- use begin-with-definitions for code clarity
- rename some variables
- better contracts (comments)
test-structure:
- delete unused field
update-counts:
- general reformatting
- delete dead code
- refactoring to eliminate duplication
2006-09-01 18:42:58 -04:00
Sam Tobin-Hochstadt
c702686b01 gen-match.ss: kill dead code, remove pointless argument
match-internal-func.ss:
- use match-define to implement match-letrec
- clean up match-letrec using with-syntax
2006-09-01 17:27:47 -04:00
Sam Tobin-Hochstadt
9e17a6d993 reformatting 2006-09-01 16:52:45 -04:00
Robby Findler
dd4c63ab07 upped the number of calls to 'values' in order to continue to defeat mz's optimizations
svn: r4216
2006-09-01 15:51:52 +00:00
Robby Findler
d8a72d982f added contract-opt, renamed contract-helpers to be a .ss, not .scm
svn: r4207
2006-08-31 22:30:13 +00:00
Sam Tobin-Hochstadt
d1fe9f9645 Rewrite emit and assem to use better style.
Remove pointless optional arguments in getbindings.
Don't create unneccessary match-lambda*.
Implement keyword arguments to define-match-expander.
Lots of refactoring of gen-match for general clarity.
Use combinators instead of writing our own loops.
Simplify struct info accessor.
Add timing printer.
Refactor coupling/binding for general clarity.
Rewrite logical-equal not to use the expansion of match.
General replacement of () with [].

svn: r4192
2006-08-30 19:41:47 +00:00
Robby Findler
d9ac9270a8 provide/contract now grabs the source locations from the identifiers that have contracts, not some other part of itself
svn: r4187
2006-08-29 13:14:33 +00:00
Matthew Flatt
6864440c7e class-level mixin syntax reports reported as from mixin
svn: r4159
2006-08-27 23:10:29 +00:00
Matthew Flatt
c0ce55afb4 make generic smarterabout final methods
svn: r4105
2006-08-22 01:26:58 +00:00
Robby Findler
eefb6a8c87 minor tweak to contract library
svn: r4092
2006-08-18 21:53:54 +00:00
Matthew Flatt
35d14b301f add inherit/super and inherit/inner (to eventually replace rename-inner and rename-super)
svn: r4087
2006-08-18 00:47:32 +00:00
Robby Findler
2edea47556 fixed PR 8215
svn: r3994
2006-08-09 03:28:59 +00:00
Matthew Flatt
6dc42e3a8d changed handling of primitive by-position-only arguments to behave like init-rest
svn: r3954
2006-08-04 13:33:31 +00:00
Sam Tobin-Hochstadt
0cf62c196a Changed #:macro to #:expression in define-match-expander.
svn: r3945
2006-08-03 20:18:22 +00:00
Sam Tobin-Hochstadt
931d214b69 Removed obsolete mzlib/private/plt-match directory.
Moved match implementation to new mzlib/private/match directory.

Implement keyword arguments to define-match-expander.

svn: r3943
2006-08-03 20:01:39 +00:00
Matthew Flatt
2b7a722b33 fix scoped init names (i.e., when combined with define-local-member-name)
svn: r3937
2006-08-02 20:14:32 +00:00
Eli Barzilay
bb5b45b181 re-do changes that were undone in r3843
svn: r3859
2006-07-28 08:15:46 +00:00
Eli Barzilay
5099b078c6 Undo the following revisions:
r3839
  r3825
  r3823
  r3821
  r3820 (undo only the changes in drscheme/private/debug.ss)
  r3792
  r3791

They will be re-done after v352 is released

svn: r3843
2006-07-27 17:12:18 +00:00
Robby Findler
967cd9ab14 fixed PR 8190
svn: r3839
2006-07-27 14:10:55 +00:00
Robby Findler
ea3c2b9743 sped up or/c (probably) and fixed ordering in printout of or/c contract names
svn: r3825
2006-07-26 17:07:47 +00:00
Sam Tobin-Hochstadt
aac8dfdbe5 match: Don't ever avoid let-binding the matched expression (since
identifiers can have non-trivial effects).  Bug pointed out by RMC.

svn: r3813
2006-07-25 19:10:14 +00:00
Robby Findler
73ce86e94b fixed PR 8166
svn: r3701
2006-07-13 19:29:04 +00:00
Robby Findler
6575c9c58d fixed performance problem with (provide/contract (struct ...))
svn: r3698
2006-07-13 14:49:12 +00:00
Sam Tobin-Hochstadt
1c46dde5dc Factor out check for constant data into match-helper.ss
Use in parse-quasi and render-test-list-impl.

Add support for keywords.

svn: r3690
2006-07-12 19:08:55 +00:00
Sam Tobin-Hochstadt
b42a11d12d match.ss: abstract some boilerplate, and use syntax/loc when doing conversion to plt-match
match-helper.ss: add helper macro

render-test-list-impl.ss: fix hygiene bug in checking for non-linear patters
			  (thanks to Ryan Culpepper)

gen-match.ss: Fix error reporting location in match errors.
	      (thanks to Ryan Culpepper)

svn: r3689
2006-07-12 18:59:07 +00:00
Robby Findler
0d07f36ab7 added first order checking and some stop-gap checking for sub-structs
svn: r3675
2006-07-10 20:57:33 +00:00
Robby Findler
49667529da improved running time of contracts and moved some provide/contracts to the bottom of files (not necc yet, but may become necc)
svn: r3665
2006-07-09 21:07:04 +00:00
Robby Findler
79ae279b79 extended or/c to support multiple higher-order contracts
svn: r3606
2006-07-06 02:08:12 +00:00
Matthew Flatt
ebe051694d 350.3
svn: r3571
2006-07-01 18:53:09 +00:00
Robby Findler
6cd4b0009b generalized and/c
svn: r3422
2006-06-20 20:49:18 +00:00
Matthew Flatt
f272ae9d7e define-member-name and member-name-key
svn: r3415
2006-06-19 13:04:54 +00:00
Matthew Flatt
9877a98a00 inner default expr shouldn't evaluate when a target is available
svn: r3094
2006-05-28 11:49:41 +00:00
Matthew Flatt
12f990e663 fixed define-match-expander to certify properly
svn: r2868
2006-05-06 15:42:44 +00:00
Matthew Flatt
9f513d240e fix cert handling for init, init-field, and field
svn: r2823
2006-04-27 20:30:16 +00:00
Robby Findler
0ad4118f6f fixed image.ss to handle the case when positive and negative infinity are supplied to overlay/xy and also limited one-of/c's inputs
svn: r2659
2006-04-11 13:53:53 +00:00
Robby Findler
1c97b4c21f fixed PR 7999 and added one-of/c to the contract library
svn: r2650
2006-04-10 03:54:55 +00:00
Eli Barzilay
16f01a1109 {quick,merge}sort -> sort
svn: r2569
2006-04-01 12:24:15 +00:00
Robby Findler
ea9d5bfe8b improved internal contract stuff
svn: r2546
2006-03-30 19:05:54 +00:00
Robby Findler
cf86c57215 merged revision 2489:2523 from plt/branches/robby -- somehow contract-guts.ss came out messed up; I replaced it with the actual latest version from the branch and things seem okay
svn: r2524
2006-03-28 00:38:43 +00:00
Robby Findler
5e2f5d86de re arranged the file names in the contract library and exported a few more things from the main library to satisfy plai
svn: r2488
2006-03-23 17:22:26 +00:00
Robby Findler
8617ca8fcd defeats the inlining optimization by making procedure bodies big in order to do lazy contract checking
svn: r2486
2006-03-22 21:12:53 +00:00
Matthew Flatt
d2737c73a4 replace same-closure with procedure-closure-contents-eq?
svn: r2476
2006-03-21 15:28:59 +00:00
Robby Findler
bb9b8eb90e finished lazy data structure contracts
svn: r2458
2006-03-19 00:03:48 +00:00
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
Robby Findler
873e71a9dd fixed PR 7927
svn: r2341
2006-03-02 02:48:40 +00:00
Robby Findler
3172ffd027 added contract-violation->string parameter
svn: r2314
2006-02-24 15:37:58 +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
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
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
78622b7bb3 moved code out of macro expansion and into functions
svn: r1409
2005-11-25 22:50:56 +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
e46ea7dbb2 fixed mapped id application context
svn: r1198
2005-11-01 20:13:36 +00:00
Matthew Flatt
f3a67ccb9a added object-method-arity-includes
svn: r1123
2005-10-22 01:56:45 +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
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
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
Robby Findler
442e9fad32 ,
svn: r531
2005-08-02 04:12:41 +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
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
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