Commit Graph

220 Commits

Author SHA1 Message Date
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
Matthew Flatt
24e4fd407b chat-noir literate small repairs
svn: r13765
2009-02-21 13:30:22 +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
Matthew Flatt
7b11c290f5 qq fixes, so that (quasiquote #(unquote lst)) is a syntax error
svn: r13517
2009-02-11 15:01:04 +00:00
Matthew Flatt
767766521c infix for literal prefab structs, quasiquote unquoting in value positions of hash-table literals, and related changes (v4.1.4.3)
svn: r13504
2009-02-09 15:27:51 +00:00
Matthew Flatt
3d04e81fa0 fix arity error for method with optional arguments
svn: r13375
2009-02-03 13:13:53 +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
6672638df1 Syncing up.
svn: r13154
2009-01-15 17:57:25 +00:00
Matthew Flatt
6aea96cb5c improve name of class field accessors/mutators
svn: r13150
2009-01-15 13:49:04 +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
5ac3135cd6 Syncing up here as well.
svn: r13118
2009-01-14 18:27:06 +00:00
Eli Barzilay
d1a0086471 newlines at EOFs
svn: r13105
2009-01-14 03:10:47 +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
Matthew Flatt
a58010fd0d scheme/class: fix local member names to provide an better message on misuse, and to declare itself as an expression form
svn: r13050
2009-01-09 21:00: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
Robby Findler
97e00eef97 fixed a bug in the ->d contract checking (wrt tail dropping)
svn: r12987
2009-01-03 16:57:46 +00:00
Robby Findler
3af2ea45d0 changed ->d so that it only checks the contract just above, not many above
svn: r12986
2009-01-03 16:40:54 +00:00
Stevie Strickland
6d966c80af Syncing
svn: r12982
2009-01-03 03:09:06 +00:00
Matthew Flatt
b2d0a37f7b add propagated arguments to 'call-with-continuation-prompt'; streamline 'with-handlers' expansion; speed up slightly some JITted cross-module function calls
svn: r12979
2009-01-02 21:57:31 +00:00
Matthew Flatt
e92b588985 macro-expansion performance tweaks
svn: r12972
2009-01-02 16:50:32 +00:00
Matthew Flatt
1642a84e69 add equal?/recur; implement equal? for image-snip% via properties
svn: r12950
2008-12-29 22:36:53 +00:00
Matthew Flatt
0cd2537a82 add equal<%> ad interface*
svn: r12946
2008-12-28 15:05:02 +00:00
Stevie Strickland
dd5afccd82 Catch up to now.
svn: r12742
2008-12-08 17:02:26 +00:00
Matthew Flatt
89d0801d7a change quote-syntax to include a certificate for the enclosing module, enable certificate checking of phase-1 bindings, and fix some other problems with certificates
svn: r12714
2008-12-05 22:45:04 +00:00
Matthew Flatt
66a0c27703 avoid shared mutation of break state across with-handlers procs
svn: r12706
2008-12-04 23:04:33 +00:00