Commit Graph

85 Commits

Author SHA1 Message Date
Stevie Strickland
10b89445c6 Do a little better here, including using id->contract-src-info instead of
just the identifier.

svn: r13631
2009-02-15 23:08:56 +00:00
Stevie Strickland
1943083cf9 Fix nested with-contracts by checking explicitly for ssps. Apparently
painting the bindings causes the ssp to later fail when you try to access
the parameter.  Not sure if this is a bug or not, will talk to Matthew.

svn: r13621
2009-02-15 21:59:22 +00:00
Robby Findler
435adfea0a PR 10073
svn: r13606
2009-02-15 14:44:12 +00:00
Robby Findler
eed5f52878 PR 10073
svn: r13595
2009-02-15 02:49:35 +00:00
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