Commit Graph

99 Commits

Author SHA1 Message Date
Stevie Strickland
b7063fc563 Fix error message in define/contract.
svn: r14522
2009-04-15 15:43:04 +00:00
Stevie Strickland
a3035a76a8 Got the struct:x name built, but forgot just the name x for the static info,
even though I had changed with-contract to detect (uncontracted) exports of
syntax.

svn: r14004
2009-03-07 16:48:27 +00:00
Stevie Strickland
93d6a5fc7c * Just use new marks instead of name mangling for the ctc-ids
* Set the 'inferred-name property appropriately.

svn: r13802
2009-02-23 14:36:28 +00:00
Stevie Strickland
8a6804c525 Need to use the srcinfo for the marked identifiers, not the unmarked ones.
If this is wrong, then we need to do the first-order checks after creating
the set! transformers.

svn: r13781
2009-02-21 19:03:49 +00:00
Stevie Strickland
b2c6dd5b9e This should have been a reference to the already verified contract.
svn: r13780
2009-02-21 18:59:25 +00:00
Stevie Strickland
7e1ea98876 Pull back Robby's allowance of all struct options just a bit, plus handle
the ones we do allow natively.

svn: r13727
2009-02-18 21:14:50 +00:00
Robby Findler
cf856a33bf forward keywords
svn: r13725
2009-02-18 13:11:08 +00:00
Stevie Strickland
7e8816ce0f * Add initial version of define-struct/contract
* Allow uncontracted exports of syntax from a with-contract form.

svn: r13717
2009-02-18 02:25:45 +00:00
Stevie Strickland
770aab6700 Move first-order checks for free-var ctcs to before the body of the
with-contract expansion.

svn: r13713
2009-02-17 23:38:46 +00:00
Stevie Strickland
3ff2184a38 Add the first-order free variable contract checks I mentioned earlier.
svn: r13707
2009-02-17 20:50:56 +00:00
Stevie Strickland
d18a56a956 Okay, no infinite syntax unrolling, please.
svn: r13705
2009-02-17 20:32:04 +00:00
Stevie Strickland
cf916f51fa Forgot to add rename-transformers for unprotected ids.
svn: r13704
2009-02-17 19:58:26 +00:00
Stevie Strickland
999d9357ab * Fix it so we say definition or function in define/contract appropriately
again.
 * Fix horribly complicated and ridiculous version of with-contract with
   a more streamlined, and more importantly, correct version.

svn: r13703
2009-02-17 19:31:57 +00:00
Stevie Strickland
64a68db15d Initial attempt at free var contracts. Needs a little more work, but might
handle Robby's use cases.

svn: r13700
2009-02-17 18:18:53 +00:00
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