Robby Findler
937d2efab3
added exists to provide/contract
...
svn: r15871
2009-09-04 04:52:02 +00:00
Robby Findler
4532602b5a
svn: r15854
2009-09-01 21:43:41 +00:00
Robby Findler
5c73253e03
changed the low-level api for contracts so the projections accept an extra argument indicating if the contract is being used positively or negatively
...
svn: r15850
2009-09-01 16:25:08 +00:00
Ryan Culpepper
38fc6c8e67
fixed PR 10418 (keyword args in procedure contracts)
...
svn: r15847
2009-09-01 15:08:06 +00:00
Eli Barzilay
ec9fc2571a
Added `in-producer'.
...
(Note that `test-generator' tests use quasiquote for the expected result).
svn: r15811
2009-08-27 09:15:52 +00:00
Stevie Strickland
8ae58f1244
Primarily this is a change so that the negative party entering into
...
with-contract based contracts is the syntactic context of the with-contract
expression. Also, there's some code cleanup.
svn: r15665
2009-08-03 21:15:44 +00:00
Robby Findler
b5b32d1d8e
added automatic compilation to the module language, plus various other tweaks (contract library enhancement, bug fixes here and there)
...
svn: r15635
2009-07-30 05:17:40 +00:00
Matthew Flatt
a47d94f75f
add file-or-directory-identity (4.1.2.5)
...
svn: r15623
2009-07-29 17:39:03 +00:00
Eli Barzilay
3b194ff070
error typo
...
svn: r15593
2009-07-28 06:18:28 +00:00
Eli Barzilay
af5614455a
some reformatting
...
svn: r15592
2009-07-28 05:05:17 +00:00
Matthew Flatt
0cccedabb4
export Scheme-implemented ormap (for 1 and 2 lists), which was accidentally unexported before
...
svn: r15471
2009-07-17 11:08:39 +00:00
Matthew Flatt
ba87f38f72
improve checker for optional keywords
...
svn: r15432
2009-07-11 15:23:07 +00:00
Matthew Flatt
2b5f12b6fa
fix broken 'case' improvement!
...
svn: r15429
2009-07-11 04:04:19 +00:00
Matthew Flatt
b2e39baa26
improve expansion of 'case' for a clause with 2 or 3 values
...
svn: r15428
2009-07-11 04:03:20 +00:00
Matthew Flatt
ab1db74ecc
more keyword-argument performance improvements, including general fast path for applying simple applicable-struct wrappers over plain procedures
...
svn: r15403
2009-07-08 13:57:16 +00:00
Matthew Flatt
6d8c6e4f09
revise keyword implementation to reduce overhead
...
svn: r15368
2009-07-03 03:10:25 +00:00
Robby Findler
8fbc4f86aa
svn: r15364
2009-07-02 16:21:40 +00:00
Robby Findler
2b5e836b74
fixed a bug mentioned on the mailing list
...
svn: r15352
2009-07-01 14:02:55 +00:00
Matthew Flatt
7f019819e0
allow empty splicing-syntax-parameterize body in a defn context (PR 10311)
...
svn: r15251
2009-06-24 13:17:17 +00:00
Matthew Flatt
8e5993f99f
fix serialization problems
...
svn: r15241
2009-06-23 12:07:54 +00:00
Matthew Flatt
36f3ed4465
expose and support unreadable symbols, which are generated during expansion
...
svn: r15239
2009-06-23 00:17:45 +00:00
Robby Findler
ed4f066bb6
svn: r15213
2009-06-19 14:57:47 +00:00
Robby Findler
ec44ee7df1
added hash/c
...
svn: r15210
2009-06-18 21:31:33 +00:00
Matthew Flatt
62325eb7cf
fix bugs related to changes in keyword-argument error messages
...
svn: r15098
2009-06-05 21:45:05 +00:00
Matthew Flatt
ae7dab88d3
change expansion of application with keyword arguments to use quoted lists instead of lifting
...
svn: r15083
2009-06-04 21:44:20 +00:00
Matthew Flatt
118d0e7a3c
adjust error messages for keyword-related function-call problems
...
svn: r15068
2009-06-03 19:19:48 +00:00
Matthew Flatt
43a3a326b7
hash quasiquote on hash tables (PR 10266) (merge to 4.2)
...
svn: r15003
2009-05-28 13:02:42 +00:00
Matthew Flatt
de0fc2e745
fix syntax patterns on prefabs (PR 10268) (merge to 4.2)
...
svn: r15001
2009-05-28 03:01:45 +00:00
Matthew Flatt
70859f0d0b
identifier-prune-lexical-context (4.2.0.2)
...
svn: r14850
2009-05-17 12:31:51 +00:00
Matthew Flatt
57ff3c2486
fix foldr/foldr argument checking (PR 10215)
...
svn: r14706
2009-05-04 02:20:06 +00:00
Eli Barzilay
a1d943146b
added a nullary case to compose
...
svn: r14697
2009-05-03 20:41:37 +00:00
Robby Findler
6d08558ab7
fixed a bug in my earlier bugfix (also PR 10221)
...
svn: r14662
2009-04-29 21:08:01 +00:00
Matthew Flatt
224f9fa3a7
fix bug in tracking paren shapes; fix Scribble binding search code; add syntax/template library
...
svn: r14661
2009-04-29 20:31:07 +00:00
Robby Findler
de6c1a524d
PR 10219
...
svn: r14654
2009-04-29 16:38:31 +00:00
Robby Findler
87c9aba9e0
added a little optimization to provide/contract
...
svn: r14646
2009-04-29 03:48:45 +00:00
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
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