Commit Graph

216 Commits

Author SHA1 Message Date
Robby Findler
90b688b143 fixed PR 8293
svn: r4420
2006-09-23 02:54:25 +00:00
Sam Tobin-Hochstadt
605c510b9e Merged changes from branch:
http://svn.plt-scheme.org/plt/branches/samth/match2
revisions 4220:4417
Included Matthew's version of regexp-error change, not Sam's.
Major changes:
 - simplification pass
 - define match-letrec in terms of match-define
 - show steps of match-expander in macro stepper
 - substantial refactoring of gen-match
 - removed unused times-used-neg field of test struct
 - added match:internal-error
 - general refactoring
 - bug fix in parsing of quasi-patterns

svn: r4418
2006-09-22 18:35:22 +00:00
Matthew Flatt
bbcd99e537 allow regexps for pregexp pattern in match
svn: r4410
2006-09-22 01:59:40 +00:00
Matthew Flatt
e404e9252a dropped pregexp argument checking; it was too much duplication of contracts, and I'd rather leave it as a motivating example for better error reporting instead of a pile of code to maintain
svn: r4405
2006-09-21 03:25:12 +00:00
Matthew Flatt
e9a73b701e explicitly check pregexp arguments, insteda of letting regexp errors through
svn: r4404
2006-09-21 02:39:00 +00:00
Sam Tobin-Hochstadt
0a5ff7fddd Fix bug in definition of match-define. 2006-09-20 11:30:20 -04:00
Sam Tobin-Hochstadt
00383c4c5d convert-pat:
- reformatting
 - use constant-data?
render-test-list-impl:
 - reformatting
 - refactoring
2006-09-20 11:02:15 -04:00
Sam Tobin-Hochstadt
6bf106f785 Fix infinite loop in pregexp-split.
svn: r4398
2006-09-20 14:12:48 +00:00
Matthew Flatt
357849bf0a minor px support
svn: r4390
2006-09-19 21:39:37 +00:00
Sam Tobin-Hochstadt
a6f8fbe350 Fix bug in conversion of dotted patterns. 2006-09-19 14:31:17 -04:00
Sam Tobin-Hochstadt
086db937b8 pregexp can now return a regexp object. 2006-09-19 13:01:04 -04:00
Matthew Flatt
d3b96f936e 352.6
svn: r4379
2006-09-19 00:39:51 +00:00
Sam Tobin-Hochstadt
b42e317e0c Changed convert-pat to use syntax/loc. 2006-09-15 12:12:10 -04:00
Sam Tobin-Hochstadt
ee63e4e80d Factor observe-step into separate file.
Use observe step in match.ss match-expanders.
2006-09-11 15:43:50 -04:00
Sam Tobin-Hochstadt
7646ee635d Show correctly marked results in stepper. 2006-09-11 00:57:35 -04:00
Sam Tobin-Hochstadt
34aa12ddac Added expansion of match-expanders to macro-debugger. 2006-09-10 21:24:35 -04:00
Eli Barzilay
412a8b8cb3 error message typo
svn: r4295
2006-09-10 16:36:43 +00:00
Eli Barzilay
a0c4d3b454 * code reformatting
* use kw.ss instead of opt-lambda
* moved a debugging comment into an `if'

svn: r4273
2006-09-07 19:55:41 +00: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
Matthew Flatt
63c03f40f9 fix #hasheq printing
svn: r4066
2006-08-15 09:22:36 +00:00
Eli Barzilay
b20f81b781 opt-lambda -> define/kw
svn: r4032
2006-08-12 03:22:56 +00:00
Matthew Flatt
21939a881d don't block for bytes that might not be needed
svn: r4031
2006-08-12 03:02:46 +00:00
Matthew Flatt
786bfdab30 use opt-lambda instead of rest arg: cleaner, and correctly reports arity mismatches
svn: r4030
2006-08-12 02:48:26 +00:00
Matthew Flatt
b206c1bc84 avoid expensive char-by-char peek with lookahead, and instead peek a block into a buffer
svn: r4029
2006-08-12 02:47:46 +00:00
Robby Findler
2edea47556 fixed PR 8215
svn: r3994
2006-08-09 03:28:59 +00:00
Robby Findler
a582a09d66 fixed PR 8210
svn: r3979
2006-08-07 13:31:32 +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