Commit Graph

245 Commits

Author SHA1 Message Date
Matthew Flatt
f51f8c8b7f avoid generating unnecessary struct-accessor and -mutator names
svn: r14566
2009-04-20 13:14:40 +00:00
Matthew Flatt
4b3626c156 fix inverted argument default for editor<%> read-from-file method; better Check Sytax results on packages; added syntax/flatten-begin library
svn: r14548
2009-04-17 22:50:19 +00:00
Matthew Flatt
09320cea1c tiny object-instantiation perf. tweak
svn: r14534
2009-04-16 21:24:42 +00:00
Matthew Flatt
709ad23400 performance improvements: class local-field access uses accessor with index built in (so the index is checked once); JIT partially inlines struct-field mutation
svn: r14530
2009-04-16 19:01:20 +00:00
Stevie Strickland
b7063fc563 Fix error message in define/contract.
svn: r14522
2009-04-15 15:43:04 +00:00
Matthew Flatt
5d0416aec9 David's build-list
svn: r14472
2009-04-09 00:58:13 +00:00
Eli Barzilay
4aab5e4eab use void for true predicates, makes things run faster
svn: r14451
2009-04-08 00:02:57 +00:00
Matthew Flatt
1d26e97a35 Scheme-implemented editor classes; on-demand instantiation of module phases
svn: r14445
2009-04-07 17:12:22 +00:00
Eli Barzilay
76c2d9eceb rehack the argument formatting hack
svn: r14436
2009-04-06 12:18:42 +00:00
Eli Barzilay
2cc94cbf02 reformat some
svn: r14435
2009-04-06 11:17:15 +00:00
Eli Barzilay
06636c1813 added in-sequences and in-cycle
svn: r14424
2009-04-05 08:29:17 +00:00
Eli Barzilay
9af9210aa2 added hash-ref! and hash-has-key?
svn: r14423
2009-04-05 04:35:12 +00:00
Eli Barzilay
cb2c85956b removed unnecessary hash-ref passing in implementation of hash-update
svn: r14421
2009-04-05 00:24:47 +00:00
Eli Barzilay
daa582291c typo
svn: r14410
2009-04-03 00:26:59 +00:00
Robby Findler
2c85b7a795 improved performance of the teaching languages
svn: r14394
2009-04-01 00:15:20 +00:00
Sam Tobin-Hochstadt
40b4731106 Expand (require A ...) into (begin (require A) ...)
- docs (including discussion of require scoping)
- tests

svn: r14232
2009-03-23 14:13:10 +00:00
Matthew Flatt
7dc8e077ed add 'not-provide-all-defined and 'nonimal-id suport for rename transformers; fix scheme/foreign and foreign docs to use it
svn: r14195
2009-03-20 16:59:28 +00:00
Matthew Flatt
2109cec2f4 free-id=? propagation through module exports; add 'not-free-identifier=? syntax property to disable free-id=? propagation; add prop:rename-transformer and prop:set-transformer; fix scheme/local so that local syntax bindings are visible to later definitions (v4.1.5.3)
svn: r14191
2009-03-19 20:22:18 +00:00
Ryan Culpepper
d154493077 scheme/splicing: added splicing variants of local and letrec-syntaxes+values
svn: r14188
2009-03-19 13:45:45 +00:00
Matthew Flatt
ee084ad7ff adjust special scheme/class keywords to effectively declare themselves as expression forms (PR 10135): merge to 4.1.5
svn: r14137
2009-03-17 00:45:29 +00:00
Robby Findler
2556c61f9d PR 10078 -- NOT for inclusion in the release
svn: r14122
2009-03-16 12:06:17 +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
Matthew Flatt
ff0b532864 adjust syntax/loc and some docs
svn: r13899
2009-03-02 22:24:25 +00:00
Stevie Strickland
3c0e17d963 Add to the error message for -> in the case of optional arguments.
svn: r13803
2009-02-23 18:49:29 +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
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