Stevie Strickland
4ac235f534
Trunk merging, taking care to integrate Robby's changes appropriately. Only
...
change from what he did was that I added a name arg to the verify/contract
macro (he already has coerce-contract take a name appropriately, so this
was very simple, yay!).
svn: r11737
2008-09-13 23:17:58 +00:00
Robby Findler
fb17d339ef
oops, committed too soon...
...
svn: r11731
2008-09-13 22:38:21 +00:00
Robby Findler
d69957455c
a bunch more values are now converted into contracts automatically (added bytes)
...
svn: r11730
2008-09-13 22:37:16 +00:00
Robby Findler
85e489219c
a bunch more values are now converted into contracts automatically
...
svn: r11729
2008-09-13 22:35:09 +00:00
Stevie Strickland
2d2b667bd8
Merging the changes from trunk into here. Adding back the changes that
...
allow for reporting the position of the contract that failed.
svn: r11728
2008-09-13 17:05:00 +00:00
Robby Findler
06a4d0df4a
got rid of define-struct/prop since scheme/base has a define-struct that does all that (and more) now
...
svn: r11727
2008-09-13 16:29:01 +00:00
Stevie Strickland
e5539b1766
Trunk merging, check it and see
...
svn: r11726
2008-09-13 16:06:35 +00:00
Stevie Strickland
1d9721a406
Oh, yeah, I'm digging me that merge tracking. Trunkward, ho!
...
svn: r11717
2008-09-13 03:20:43 +00:00
Stevie Strickland
0870c7ae1d
Actually, move the old-style define/contract to its own file in mzlib,
...
and change around mzlib/contract.ss appropriately.
svn: r11715
2008-09-13 02:51:09 +00:00
Stevie Strickland
16bce22386
Slight change just because we're now printing what kind of thing triggered
...
the broken contract.
svn: r11714
2008-09-13 02:11:05 +00:00
Stevie Strickland
ed067cb351
Be specific in what we're iterating over.
...
svn: r11711
2008-09-13 01:37:43 +00:00
Stevie Strickland
c484131597
Okay, here's the old stuff put back, will fix up the unit tests when I get
...
home.
svn: r11709
2008-09-12 23:51:51 +00:00
Stevie Strickland
41ee6c8ac7
Hello, McFly, hello?!
...
I can't believe there wasn't already a test in there that checked this kind
of thing. Wait, of course there couldn't have been, because it was specific
to define/contract and with-contract, and _I'm_ writing those tests. Ah,
well, fixed! :p
svn: r11707
2008-09-12 23:25:58 +00:00
Stevie Strickland
a343268083
Just to make sure the srcloc info is correct.
...
svn: r11706
2008-09-12 22:59:51 +00:00
Matthew Flatt
72055191b4
add printable<%>
...
svn: r11705
2008-09-12 22:50:09 +00:00
Stevie Strickland
2e22b77278
Add which argument or result caused the contract error for -> contracts
...
(i.e. also ->*, but not ->d or case->).
svn: r11701
2008-09-12 21:45:13 +00:00
Stevie Strickland
e83a72d6ae
* Fix converting modules whose source is (list 'quote 'name) to "module 'name"
...
in contract messages
* Differentiate between define/contract functions and normal definitions
* Fix up contract tests
svn: r11700
2008-09-12 20:46:41 +00:00
Stevie Strickland
068bbd7600
Fix typo.
...
svn: r11699
2008-09-12 19:40:58 +00:00
Stevie Strickland
4e8064e8a5
Change it so that it uses strings instead of symbols here.
...
svn: r11697
2008-09-12 19:01:13 +00:00
Stevie Strickland
19cfe4e49e
I hate this kind of error checking.
...
svn: r11696
2008-09-12 18:55:11 +00:00
Stevie Strickland
019c2c8c34
Handle strings as blame, now add a description of the type of contract
...
boundary that triggered the contract error.
svn: r11695
2008-09-12 18:49:08 +00:00
Stevie Strickland
b309ced851
Appropriately check the context.
...
svn: r11693
2008-09-12 18:17:40 +00:00
Stevie Strickland
3b44bca1d5
Remove the introducer, which isn't being used anyway.
...
svn: r11692
2008-09-12 18:13:20 +00:00
Stevie Strickland
ac576f5085
There's nothing quasi about the body, so just go with regular syntax
...
(and change the quote-syntax uses to just #')
svn: r11690
2008-09-12 17:09:42 +00:00
Stevie Strickland
e53d5c43ff
Just indention.
...
svn: r11689
2008-09-12 16:59:00 +00:00
Stevie Strickland
ea206c7b3d
Go back to the old style.
...
svn: r11688
2008-09-12 16:48:33 +00:00
Stevie Strickland
e2c770ab45
So we _can_ do this, but since provides/requires are between modules, and
...
thus it's the enclosing module that made the contract here, we should
blame it for the misuse, not the contract boundary in which the call was
made (though further thought should be put towards this).
svn: r11687
2008-09-12 16:39:11 +00:00
Stevie Strickland
f191636cc7
Use the same info here as the provide/contract -contract uses do.
...
svn: r11685
2008-09-12 16:20:38 +00:00
Stevie Strickland
a44810f4f5
More error checking, shouldn't have allowed (define/contract x number? 1 2),
...
for example.
svn: r11680
2008-09-12 15:19:29 +00:00
Stevie Strickland
33d3cb7cd0
Have provide/contract-transformers appropriately check to see whether we
...
are within a with-contract scope. Not quite sure if this code is 100%
correct (in terms of being written apprropiately), but it does the job for now.
svn: r11676
2008-09-12 14:51:26 +00:00
Stevie Strickland
68aa941b87
Since we allow non-identifiers here now (as long as they'd be appropriate
...
name + argument lists a la define), this case will never fire.
svn: r11662
2008-09-11 23:25:43 +00:00
Stevie Strickland
cc6d39e217
More error reporting.
...
svn: r11661
2008-09-11 23:19:34 +00:00
Stevie Strickland
f4dd7e85fe
We should make sure the error here at least has define/contract in it (even
...
if it's the wrong shape due to leaving the contract out in the call), and we
_should_ check to see if we're in a expression context. (Can't remember what
reasoning Ryan had about not doing this, but it seems to me that we still
need to check, since this expands into defines of various sorts.)
svn: r11660
2008-09-11 23:11:38 +00:00
Stevie Strickland
e1f430df72
We should use the name of the form in generating the error.
...
svn: r11659
2008-09-11 22:58:25 +00:00
Stevie Strickland
249f3db1b5
Add identifier checking and contract verification where appropriate.
...
svn: r11658
2008-09-11 22:43:19 +00:00
Stevie Strickland
430374358e
Allow unprotected identifiers to be exported from with-contract, plus
...
do some error checking on that list.
svn: r11651
2008-09-11 21:01:14 +00:00
Stevie Strickland
1621335290
* Make define/contract have an implicit begin
...
* Change with-contract's implicit begin into begin-with-definitions
svn: r11650
2008-09-11 20:38:09 +00:00
Stevie Strickland
eb676359c9
There might be a simpler way of writing this, but my kung macro isn't yet
...
up to par if so.
svn: r11649
2008-09-11 17:49:29 +00:00
Stevie Strickland
16399b7827
Add in nicer version for function definitions.
...
svn: r11648
2008-09-11 17:36:43 +00:00
Stevie Strickland
c1fa0fe0ed
Now have define/contract use the new with-contract form.
...
svn: r11647
2008-09-11 17:01:01 +00:00
Stevie Strickland
e5ed38fedc
This wasn't used in define/contract either.
...
svn: r11646
2008-09-11 16:52:08 +00:00
Stevie Strickland
cb07ceefff
Thanks to Sam and Carl, finally got this working like I wanted it.
...
svn: r11645
2008-09-11 16:51:36 +00:00
Stevie Strickland
8cbc41042e
Pull out the querying of current-contract-region (even though it doesn't
...
work), as we shouldn't be forming the if clause (here a cond) in the syntax
(as it should be evaluated at expansion time).
svn: r11642
2008-09-11 13:51:03 +00:00
Stevie Strickland
55f89f2da8
This doesn't quite work (neither does syntax-parameterize), but at least
...
it gives us an idea of where we're going and I can bug Ryan tomorrow :D
svn: r11637
2008-09-11 02:09:28 +00:00
Stevie Strickland
a7d5a2aaef
Reordering the definitions so that define/contract and its helpers are
...
in one section and the same for provide/contract (instead of them being
mixed as before).
svn: r11636
2008-09-10 21:46:13 +00:00
Matthew Flatt
1a8b6cb824
fix mistakes in augment corrections; fix runtime-path handling of lib paths
...
svn: r11577
2008-09-08 19:44:32 +00:00
Matthew Flatt
74addc1b71
fix checking of augment on a method that is overridable but was formerly augmentable
...
svn: r11574
2008-09-08 14:41:56 +00:00
Robby Findler
2ece9d9e95
PR 9729
...
svn: r11567
2008-09-07 12:46:17 +00:00
Eli Barzilay
e508264945
typo (PR9726)
...
svn: r11554
2008-09-05 18:13:49 +00:00
Robby Findler
44b62899fa
improved blame error message when there is no source location
...
svn: r11526
2008-09-02 16:12:13 +00:00