Commit Graph

633 Commits

Author SHA1 Message Date
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
Eli Barzilay
a70bf64fd9 Newlines at EOFs
svn: r15380
2009-07-04 02:28:31 +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
Eli Barzilay
c072d23baf reformat, etc
svn: r15361
2009-07-02 03:27:19 +00:00
Robby Findler
2b5e836b74 fixed a bug mentioned on the mailing list
svn: r15352
2009-07-01 14:02:55 +00:00
Jay McCarthy
3141c3736f Adding struct* to scheme/match
svn: r15255
2009-06-24 19:36:26 +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
Eli Barzilay
66c855c2d3 Switch language readers to #lang s-exp
svn: r15188
2009-06-16 17:13:51 +00:00
Eli Barzilay
233df48709 Fixed module-specs->non-lib-paths which was very broken in several different ways (PR10305)
svn: r15180
2009-06-15 21:44:54 +00:00
Eli Barzilay
5f7e052469 removed old unused argument
svn: r15179
2009-06-15 20:43: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
395301a1c6 scheme/gui/init reexports scheme/init
svn: r15064
2009-06-03 11:56:36 +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
070ed03d90 fix custodian problem with register-finalizer
svn: r14988
2009-05-26 20:01:54 +00:00
Sam Tobin-Hochstadt
1b2013dd73 Fix error reporting when first clause is not a list.
Ok for 4.2.

svn: r14965
2009-05-23 23:51:52 +00:00
Eli Barzilay
b9a7dc01b8 scheme' is now srfi/1-free. (All delete-duplicate' requires were
not necessary.)

svn: r14956
2009-05-23 08:42:17 +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
440a60c8ad fix make-custom-weak-hash (PR 10232)
svn: r14762
2009-05-09 13:37:28 +00:00
Matthew Flatt
57ff3c2486 fix foldr/foldr argument checking (PR 10215)
svn: r14706
2009-05-04 02:20:06 +00:00
Matthew Flatt
16e483033c fix define after define* in package; doc repairs
svn: r14701
2009-05-03 23:49:22 +00:00
Eli Barzilay
db90b44b0d make const accept arbitrary keywords
svn: r14700
2009-05-03 22:08:57 +00:00
Eli Barzilay
a1d943146b added a nullary case to compose
svn: r14697
2009-05-03 20:41:37 +00:00
Eli Barzilay
3ca6ac2175 added stupid make-list and stupid const
svn: r14693
2009-05-03 16:17:48 +00:00
Matthew Flatt
2b8b10dd40 fix problem with package, define*, and macro-introduced identifiers
svn: r14671
2009-04-30 23:57:45 +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
Eli Barzilay
3b39cfc4b8 fixed two uses of raise-type-error (PR 10208)
svn: r14555
2009-04-18 18:15:33 +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
7d61c67bab fix handling of define*-values between a syntax binding and a syntax-local-value
svn: r14541
2009-04-17 12:29:04 +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
0be3dca240 check-syntax binding for open-package's package id
svn: r14498
2009-04-13 14:52:14 +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
de1e2fac23 scheme/package simplifications from Chongkai
svn: r14448
2009-04-07 20:36:08 +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
Ryan Culpepper
eb349682c3 scheme/signature: fixed to recognize scheme require forms
svn: r14396
2009-04-01 03:14:34 +00:00
Robby Findler
2c85b7a795 improved performance of the teaching languages
svn: r14394
2009-04-01 00:15:20 +00:00
Matthew Flatt
4ce30226fe change the way that hidden package ids are generated
svn: r14277
2009-03-25 16:51:13 +00:00
Sam Tobin-Hochstadt
e0a95e9e22 Add `tanh' with documentation.
svn: r14250
2009-03-24 17:48:11 +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
a61e7b67f9 fix more break-progaration problems in scheme/sandbox (where recent changes were not quite right)
svn: r14219
2009-03-22 16:26:01 +00:00
Eli Barzilay
18fd48af97 Added `count'.
svn: r14210
2009-03-22 02:53:27 +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
154b73755a sandbox break propagation
svn: r14182
2009-03-19 12:31:33 +00:00
Matthew Flatt
e8cbe7ff81 splicing-let, etc.
svn: r14165
2009-03-17 23:09:38 +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
Sam Tobin-Hochstadt
b6e340d2c9 Finally the correct fix
svn: r14039
2009-03-10 21:25:46 +00:00
Sam Tobin-Hochstadt
37bd154af5 revert broken change
svn: r14037
2009-03-10 21:12:50 +00:00
Sam Tobin-Hochstadt
56a3867644 Fix PR 10119.
Give better error messages from `match*' when patterns or expressions are not lists.

svn: r14036
2009-03-10 21:06:43 +00:00
Matthew Flatt
13b2bc3363 adjust define*-{values,syntaxes} to avoid certificate problems
svn: r14024
2009-03-09 17:19:21 +00:00
Matthew Flatt
44e7744646 fix package so that syntax-local-value works after define*
svn: r14021
2009-03-09 13:24:34 +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
Eli Barzilay
56bb4539d0 fix error message
svn: r13906
2009-03-03 02:41:00 +00:00
Matthew Flatt
ff0b532864 adjust syntax/loc and some docs
svn: r13899
2009-03-02 22:24:25 +00:00
Matthew Flatt
f0473137e6 fix and document syntax/strip-context
svn: r13847
2009-02-26 13:19:25 +00:00
Eli Barzilay
97b3e6ba96 * Wrap a `#%top-interaction' around evaluations. No way to configure
or disable it yet.
* Instantiate scheme/class into teaching language sandboxes, to make
  it possible to use the test engine (still no way to report errors
  yet).
* Some minor formatting and renames

svn: r13836
2009-02-25 17:13:28 +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
Matthew Flatt
9927b0b576 changed htdp languages to allow identifier module paths; scribble improvements to latex back-end; added definterface
svn: r13681
2009-02-16 22:04:51 +00:00
Stevie Strickland
c6b92782e2 Rename cstruct to struct/ctc, to avoid confusion with cstruct from the ffi.
svn: r13661
2009-02-16 14:50:59 +00:00
Stevie Strickland
340035bef7 Adding cstruct, which is like the struct signature form but with contracts.
svn: r13647
2009-02-16 02:51:12 +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
e5756667d6 use PDF-based picts in the Latex build of the Quick tutorial; in general, change a .pdf image extension to .png for HTML output; add package-original-identifiers and fix package-exporte-identifiers
svn: r13432
2009-02-04 21:03:28 +00:00
Eli Barzilay
a2537d7dc9 second attempt at forbidding self-calls, with a long explanation why its forbidden, which is actually a sketch for how to make it work...
svn: r13376
2009-02-03 13:29:33 +00:00
Matthew Flatt
3d04e81fa0 fix arity error for method with optional arguments
svn: r13375
2009-02-03 13:13:53 +00:00
Matthew Flatt
dd67fa3cfb disable sandbox nested-evaluator check
svn: r13349
2009-02-02 13:10:25 +00:00
Eli Barzilay
39e07d0843 forbid nested evaluator calls
svn: r13338
2009-01-31 19:44:20 +00:00
Sam Tobin-Hochstadt
5baa4390d3 Fix handling of (or) in match.
svn: r13295
2009-01-27 19:57:59 +00:00
Matthew Flatt
5e2dfcbac4 define-runtime-module-path
svn: r13283
2009-01-26 00:32:26 +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
Matthew Flatt
db12513b65 fix #:all-defined for 'define-package' by adjusting 'identifier-remove-from-definition-context'; add for-syntax 'package?' and 'package-export-identifiers'; adjust Scribble to find definitions of phase-1 exports
svn: r13253
2009-01-21 20:00:55 +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
Matthew Flatt
c33a201c43 fix splicing-syntax-parameterize with begin (patch from Stevie) --- should be merged to 4.1.4
svn: r13187
2009-01-17 12:27:06 +00:00
Stevie Strickland
768117b201 Sync to trunk in preparation of merging (though unit-contracts will go first).
svn: r13171
2009-01-16 16:59:20 +00:00
Eli Barzilay
c0bdc22085 bleh
svn: r13169
2009-01-16 16:36:51 +00:00
Eli Barzilay
c5f8c43dbf better code order
svn: r13168
2009-01-16 16:29:53 +00:00
Eli Barzilay
99592959b8 fix display/write swap, use ~s for exn-messages
svn: r13161
2009-01-16 05:49:16 +00:00
Eli Barzilay
a76cdc248f added promise-forced? and promise-running?
svn: r13160
2009-01-16 05:46:07 +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
f72060a72b Yep, another sync.
svn: r13146
2009-01-15 09:15:20 +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
Eli Barzilay
873fe865cd another tweak to the error message
svn: r13139
2009-01-15 03:24:04 +00:00
Stevie Strickland
ea3879fd8f Syncing again, whee.
svn: r13136
2009-01-15 02:35:34 +00:00
Eli Barzilay
3418b1404e plural
svn: r13131
2009-01-14 22:58:06 +00:00
Eli Barzilay
559363bc2b remove #:from from error message, a little clearer code
svn: r13130
2009-01-14 22:57:52 +00:00
Matthew Flatt
9e341c4e0d correct syntax-error message for 'help'
svn: r13129
2009-01-14 22:52:06 +00:00
Eli Barzilay
62ed5ba3ad make it require one or more strings, just in case
svn: r13127
2009-01-14 22:39:17 +00:00
Eli Barzilay
ac5dcae9e6 make (help "foo") run a search for "foo"
svn: r13126
2009-01-14 22:35:39 +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
2530e04720 add some-system-path<->string functions to scheme/path
svn: r13065
2009-01-11 14:47:51 +00:00