Commit Graph

220 Commits

Author SHA1 Message Date
Matthew Flatt
b2dbe63ed1 small doc fixes, plus change to syntax pattern matching to allow null as a dotted match after ellipses
svn: r8384
2008-01-23 01:35:26 +00:00
Sam Tobin-Hochstadt
f951cac011 Use let-bound identifiers properly for handle-end-ddk-list.
svn: r8372
2008-01-20 14:36:32 +00:00
Sam Tobin-Hochstadt
f2c9c59b06 Start add match-...-nesting parameter.
svn: r8371
2008-01-20 14:35:58 +00:00
Sam Tobin-Hochstadt
3f93fd0f25 Use an extra let binding to make Typed Scheme happy.
svn: r8366
2008-01-18 22:44:54 +00:00
Robby Findler
3cf6ed4673 mostly finished the contract library changes
svn: r8195
2008-01-03 18:10:43 +00:00
Robby Findler
90de53d2b2 finished ->d
svn: r8166
2007-12-30 23:36:58 +00:00
Robby Findler
342eb86c10 finished the new ->*
svn: r8086
2007-12-20 20:35:58 +00:00
Matthew Flatt
f70ea2d03a shared
svn: r8069
2007-12-19 21:32:07 +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
Matthew Flatt
a58893f4ba fix bug in deserializer related to order of shared values
svn: r7978
2007-12-12 21:50:31 +00:00
Robby Findler
a295a42c15 improved contract library so that structs without mutators work and it now passes the test suite
svn: r7879
2007-11-30 22:50:01 +00:00
Sam Tobin-Hochstadt
b997f8b0f7 Use symbolic comparison for => in match, to handle new bindings from `cond'.
svn: r7864
2007-11-29 23:02:23 +00:00
Robby Findler
47a4b69e5d some progress on the contract test suite
svn: r7850
2007-11-28 04:38:23 +00:00
Matthew Flatt
5f312dcbde doc fixes
svn: r7832
2007-11-25 19:48:41 +00:00
Matthew Flatt
44478fa8e0 match docs
svn: r7817
2007-11-22 18:51:26 +00:00
Matthew Flatt
6056159ad7 class and mzc -k fixes
svn: r7724
2007-11-14 16:24:48 +00:00
Matthew Flatt
39cedb62ed v3.99.0.2
svn: r7706
2007-11-13 12:40:00 +00:00
Robby Findler
359196ae82 improved contract libraries handling of #%app for provide/contract'd variables
svn: r7590
2007-10-29 21:07:43 +00:00
Robby Findler
3724e47d0c possible fix to PR 9204
svn: r7587
2007-10-29 02:28:30 +00:00
Robby Findler
018bc0e8f6 removed extraneous requires
svn: r7548
2007-10-21 22:57:12 +00:00
Robby Findler
176a888bb4 changed the case-> combinator back so that it does not use a symbolic comparison to find -> and friends
svn: r7460
2007-10-09 12:57:18 +00:00
Matthew Flatt
4ebccec087 fix problem with lifting contract applications by delaying expansion to an expression context
svn: r7434
2007-10-05 19:57:05 +00:00
Robby Findler
d9cb743afc removed an optimization that obscures the names in contracted functions
svn: r7379
2007-09-18 15:48:28 +00:00
Robby Findler
ac52b9f2ba avoid lifting more than once
svn: r7364
2007-09-17 16:33:40 +00:00
Eli Barzilay
f7e4690841 set svn:eol-style
svn: r7358
2007-09-17 05:16:55 +00:00
Robby Findler
bd93217061 refactored the contract system so that contracts do not depend on the class system, and now the class contracts are exported from class.ss
svn: r7357
2007-09-17 02:27:05 +00:00
Robby Findler
b7c441833e tried to improve size of generated code for structs
svn: r7348
2007-09-15 19:57:28 +00:00
Robby Findler
33311ab211 few minor improvements to the code generated by the contract library
svn: r7339
2007-09-14 21:27:53 +00:00
Eli Barzilay
449d9097c7 Avoid having hard-wired paths in contract error messages.
These will use "<collects>/..." now.  (A perhaps better solution
is to do what "mzlib/etc.ss" does and insert code that expands
to the file on the client machine.)

svn: r7306
2007-09-10 02:26:59 +00:00
Eli Barzilay
6f83062a51 improved code for build-src-loc-string (no change in functionality)
svn: r7303
2007-09-09 18:25:29 +00:00
Matthew Flatt
e4cbc4e6a9 371.2
svn: r7263
2007-09-02 17:39:32 +00:00
Eli Barzilay
6793e45228 typo
svn: r7029
2007-08-06 13:00:49 +00:00
Robby Findler
67dd80eb78 changes noticed by Matthew
svn: r6980
2007-07-29 18:56:32 +00:00
Robby Findler
cb47325215 fixed parameter contracts
svn: r6833
2007-07-07 15:19:46 +00:00
Matthew Flatt
9764065c6a 370.5
svn: r6832
2007-07-07 08:31:19 +00:00
Robby Findler
2dfd35e5c7 added parameter/c
svn: r6770
2007-06-29 16:44:18 +00:00
Shu-Yu Guo
5016e59f8e fixes match
svn: r6674
2007-06-16 16:58:37 +00:00
Robby Findler
ea5b3493f3 fixed define-contract-struct so that it defines (via define-syntax) the struct name, following the define-struct covention
svn: r6664
2007-06-14 21:14:14 +00:00
Robby Findler
3857b95a7b fixed PR 8737
svn: r6596
2007-06-12 15:23:54 +00:00
Robby Findler
f597eef4db svn: r6558 2007-06-09 18:33:37 +00:00
Robby Findler
377c5b3ad0 had to find a new way to defeat the inlining
svn: r6413
2007-05-30 17:32:39 +00:00
Robby Findler
2f97ee61a8 fixed comment
svn: r6292
2007-05-25 13:22:29 +00:00
Robby Findler
e41ff4705e improved error checking for provide/contract struct clauses
svn: r6155
2007-05-05 17:50:19 +00:00
Robby Findler
5ac3fdd86e added unsafe list contract combinators
svn: r6096
2007-04-29 21:46:27 +00:00
Matthew Flatt
e9bf34f193 369.11
svn: r6085
2007-04-29 02:08:24 +00:00
Robby Findler
2cb314de1b improved error message a little more, thanks to Jon Rafkind
svn: r6073
2007-04-28 21:50:05 +00:00
Robby Findler
bbb4f1c307 tweaked wording of any error message
svn: r6071
2007-04-28 20:21:04 +00:00
Robby Findler
ddf5ddaf68 fixed a bug in structs
svn: r6059
2007-04-27 22:02:14 +00:00
Robby Findler
c3e07c0a8c removed bogus inference from matcher's optimizer
svn: r6034
2007-04-24 18:22:10 +00:00
Matthew Flatt
a45251d272 369.10
svn: r6003
2007-04-20 01:16:15 +00:00
Robby Findler
db8cba03aa added unconstrained-domain->
svn: r5967
2007-04-17 18:54:19 +00:00
Matthew Flatt
a47e48fc20 fix inferred name of field values and values installed into fields with set!
svn: r5880
2007-04-07 23:36:24 +00:00
Eli Barzilay
433c9a57ec new sandbox in mzlib
svn: r5873
2007-04-06 08:56:23 +00:00
Matthew Flatt
81b7aea7d9 fix expansion of match-define to use define-values instead of begin with set!
svn: r5786
2007-03-19 01:55:21 +00:00
Robby Findler
058bb56915 added guilty-party
svn: r5783
2007-03-17 21:39:59 +00:00
Robby Findler
69ed5483cf improved source locations for previous fix
svn: r5765
2007-03-09 22:42:40 +00:00
Robby Findler
e61faf231e fixed bug mentioned by Paulo Matos on plt-scheme mailing list
svn: r5764
2007-03-09 22:38:51 +00:00
Robby Findler
d67ab8b0a9 improved the expansion to make runtime error reporting better
svn: r5703
2007-02-27 23:48:00 +00:00
Robby Findler
81ce545d63 added define-opt/c
svn: r5515
2007-01-31 01:12:19 +00:00
Robby Findler
de59204fa5 some cleanup
svn: r5503
2007-01-30 00:54:23 +00:00
Robby Findler
7ab052ebb9 fixed a bug
svn: r5485
2007-01-28 15:25:46 +00:00
Robby Findler
4ad8fdadea merged the opt/c changes back into the trunk (finally!)
svn: r5481
2007-01-28 02:54:16 +00:00
Matthew Flatt
272980489c avoid chains of derived-from-... names (due to previous attempt at fixing the string vs. symbol problem)
svn: r5444
2007-01-24 02:37:01 +00:00
Matthew Flatt
c0c04fb2fc make derived-from-... name a symbol in a class record
svn: r5443
2007-01-24 02:34:38 +00:00
Matthew Flatt
dbaccc2d5c fix cert problem when internal and external names are provided, but no initial value is provided
svn: r5403
2007-01-19 01:50:17 +00:00
Eli Barzilay
19c33a8e2a no need for string->immutable-string when creating exceptions
svn: r5372
2007-01-17 01:18:50 +00:00
Matthew Flatt
87c0d5754e 369.5
svn: r5366
2007-01-16 20:55:13 +00:00
Matthew Flatt
32ec113ed1 fix public-final-name-localized bug
svn: r5354
2007-01-15 05:58:28 +00:00
Matthew Flatt
7b13755dad unit clean-up
svn: r5160
2006-12-22 01:26:58 +00:00
Sam Tobin-Hochstadt
2b876b1f11 Port render-test-list.scm and helpers to use new-style units.
svn: r5035
2006-12-05 22:51:47 +00:00
Eli Barzilay
3459c3a58f merged units branch
svn: r5033
2006-12-05 20:31:14 +00:00
Shu-Yu Guo
eaf71a272a typos, name tests for opt/c.
svn: r4781
2006-11-05 06:45:58 +00:00
Carl Eastlund
22fd8f51cc Added tracing capabilities to mzscheme's class system.
- class-internal.ss exports two versions (traced/untraced) of macros/functions
- classidmap.ss provides expansion to both forms (traced/untraced)
- class-traced.ss exports traced versions
- class.ss (unchanged) exports untraced versions
- class-events.ss contains hooks called by traced version
Functionality will be used by tool to be released via PLaneT.

svn: r4778
2006-11-04 20:46:52 +00:00
Shu-Yu Guo
bd0b34a9ac - refactored opt/c to its own struct/prop
- moved opters next to their respective original contracts where possible
  - the rest moved to contract-basic-opters.ss to avoid module cycle
- fixed some typos

svn: r4774
2006-11-04 05:02:57 +00:00
Matthew Flatt
60fe398868 added trait, finally
svn: r4681
2006-10-25 08:02:59 +00:00
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
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
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
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
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