Stevie Strickland
72d551082d
If we're using known-good-contract here, we won't always have an identifier
...
for the contract, so use the contract in that case. Also rename to
contract-stx in make-with-contract-transformer so its name isn't misleading.
svn: r13269
2009-01-23 20:34:59 +00:00
Stevie Strickland
ffa59b4548
Fix with-contract so that it expands slowly into a series of begins instead
...
of erroneously attempting to head expand all the expressions before it does
any work.
Remove an extra verify-contract call in define/contract while we're at it.
svn: r13198
2009-01-18 05:21:29 +00:00
Stevie Strickland
16700ed8fc
Now that I know what's going on, we no longer have to shift all the
...
generated defines towards the bottom (which didn't help anyway).
Notice how marker-f is now defined -- that's the solution Matthew presented
to me.
svn: r13196
2009-01-18 05:00:43 +00:00
Stevie Strickland
9142823419
Forgot to remove a paren from my quick edit on the command line there.
...
svn: r13190
2009-01-17 19:49:13 +00:00
Stevie Strickland
0401130784
Here, let's store this change I was working on to fix up the expansion of
...
with-contract (since I can't head-expand-all like I was erroneously thinking).
svn: r13189
2009-01-17 19:44:28 +00:00
Stevie Strickland
8b5b007a51
We want to cover the marked version of the identifier (which has the proper
...
value), not the "regular" version that's now a transformer to a contracted
version of the marked identifier (and thus double-contracting here).
svn: r13145
2009-01-15 09:11:50 +00:00
Stevie Strickland
8ef9977f57
Change contract error reporting back to how it was (at least how it is on
...
unit-contracts, which avoids the spacing issue), and just change the blame
notation so that we can still report the region/definition stuff.
svn: r13122
2009-01-14 21:21:59 +00:00
Stevie Strickland
9facb3ffaf
Forgot a quote-syntax here, so unprotected ids weren't being transformed
...
correctly.
svn: r13121
2009-01-14 20:58:38 +00:00
Stevie Strickland
455999eadd
Add first-order contract checking at definition time.
...
svn: r13095
2009-01-13 20:52:58 +00:00
Stevie Strickland
4899d91b97
Lacked unprotected ids, and c should have never been false here anyway.
...
svn: r13093
2009-01-13 20:40:36 +00:00
Stevie Strickland
1cede752f9
Not sure whether we want just a simple rename transformer for non-contracted
...
ids or whether we really want a set! transformer that still disallows set!ing.
Hmm.
svn: r13090
2009-01-13 19:41:52 +00:00
Stevie Strickland
909dd82f7c
Using splicing-syntax-parameterize and a syntax-introducer instead of
...
what I had originally.
svn: r13089
2009-01-13 19:36:54 +00:00
Stevie Strickland
51da9beab4
This is a change I was toying with that shouldn't have gotten caught up in
...
the trunk sync of 13084.
svn: r13088
2009-01-13 19:01:21 +00:00
Stevie Strickland
2537508865
Syncing on up
...
svn: r13084
2009-01-13 01:05:50 +00:00
Stevie Strickland
22ee00b10f
Oh, no! Aliens, bio-duplication, nude conspiracies.. oh my God,
...
Lyndon LaRouche was right!
svn: r13037
2009-01-08 14:55:23 +00:00
Robby Findler
c9ebe9bba3
changed the way or/c works; PR 10010
...
svn: r13030
2009-01-07 16:48:17 +00:00
Stevie Strickland
880adecea4
I think that the contract changes have been merged appropriately.
...
svn: r12412
2008-11-12 16:44:46 +00:00
Matthew Flatt
95bedb17fb
change contracts to reflect context via #%variable-reference instead of syntax objects; add id-less #%variable-reference form; drop link to unneeded CPort objects in delayed thunks; streamline some modules that tend to show up in deep phases
...
svn: r12231
2008-11-04 14:24:12 +00:00
Stevie Strickland
69bcae8d7b
I... think this is merged correctly. It asked me about a difference between
...
deleting a svn:mergeinfo entry and adding to the existing one, and... hell,
I dunno.
svn: r12094
2008-10-22 17:46:47 +00:00
Robby Findler
122f8d41dc
PR 9852
...
svn: r12076
2008-10-20 20:08:05 +00:00
Stevie Strickland
8668c6301b
Ah, well. Unless magic happens, I choose the Rays, because seriously?
...
I may have a love for the NL, but forget the Phillies.
Just glad LA got knocked out first so we didn't have to hear about Manny
making it and Boston not.
svn: r12050
2008-10-17 02:08:29 +00:00
Robby Findler
eb7d9be3f0
fixed the contract? predicate so that it recognizes thigns that aren't yet turned into contract structs
...
svn: r12043
2008-10-15 12:54:37 +00:00
Stevie Strickland
41b85b19de
On the plane I tried to avoid verifying the contracts when it's not needed.
...
svn: r11783
2008-09-17 02:52:31 +00:00
Stevie Strickland
61399c87d7
Trunkin', I'm a goin' home
...
Whoa whoa baby, back where I belong,
Back home, sit down and patch my bones
And get back trunkin' on
svn: r11768
2008-09-15 22:50:55 +00:00
Robby Findler
d165c586af
PR 9760
...
svn: r11766
2008-09-15 21:58:59 +00:00
Stevie Strickland
402deaafe5
Another error case.
...
svn: r11765
2008-09-15 21:52:02 +00:00
Stevie Strickland
32e0f2d318
One more slight change here.
...
svn: r11764
2008-09-15 21:49:13 +00:00
Stevie Strickland
e76da360e5
Rework this somewhat so you get appropriate error messages with or without
...
#:type.
svn: r11763
2008-09-15 21:47:24 +00:00
Stevie Strickland
deccda53ea
Add duplicate checking to exports list.
...
svn: r11761
2008-09-15 19:53:41 +00:00
Stevie Strickland
e40c856660
Do head expansion, check to make sure exported identifiers were defined
...
inside the with-contract form.
svn: r11760
2008-09-15 19:41:54 +00:00
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
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
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
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
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
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