Mike Sperber
6bee489091
Add menu item to disable signature checking.
2010-12-14 17:29:30 +01:00
Mike Sperber
dbd1cfaf10
Don't use teach-equal?' for
one-of' signature.
...
I did this under the mistaken assumption `equal?' would not work for
cycles, I think.
2010-11-26 11:10:29 +01:00
Mike Sperber
99e66e0dea
Fix cycle detection in `tequal?'.
...
... and thus in `check-within', by using an eq? hash table. Also,
while we're at it, add cycle detection to `tech-equal?'.
Fixes PR #11423 .
2010-11-17 17:15:31 +01:00
Mike Sperber
69b858a7f5
Unbreak printing in DMdA.
...
Fix the the name by which the HtDP and DMdA languages refer to the
signatures module, making sure everybody sees the same properties.
2010-11-10 07:32:52 +01:00
Vincent St-Amour
c7d67f9bab
*SL: first and rest should not report errors in terms of car and cdr.
2010-11-09 21:16:17 -05:00
Robby Findler
22ce241d4d
no #%plain-app because test is not a function...
2010-10-22 06:45:56 -05:00
Robby Findler
c34bd6c28d
fix the metadata parsing to be more robust so drracket does not crash when opening a corrupt htdp teaching language file
...
closes PR 11332
2010-10-22 06:45:56 -05:00
Robby Findler
ae37e186e7
use #%plain-app to avoid possible problems with code injected into the teaching languages
2010-10-19 07:07:08 -05:00
Matthew Flatt
9f959f247e
fix quotability annotation on HtDP-language structs
...
Merge to 5.0.2
2010-10-17 19:32:17 -07:00
Mike Sperber
39541c51b5
Add `tech-equal?'.
...
This refuses to work on inexact numbers and procedures. Use it in
`check-expect' & friends.
2010-10-15 15:26:24 +02:00
Robby Findler
8032705cf9
The call to display-results depends on the value of the current-namespace
...
parameter. Specifically, it is expected to be a namespace that has the GUI
bindings available. Unfortunately, during the dynamic extent of the
uncaught-exception-handler when a syntax error is raised, this may not be
the case because you get a phase 1 namespace, not a phase 0 one.
So, move the call to display-results to the code that runs the student language
programs and out of the uncaught exception handler.
2010-10-13 15:55:16 -05:00
Robby Findler
2de8b978ba
move read-accept-lang parameter setting to the right place
2010-10-13 15:55:16 -05:00
Matthias Felleisen
852aaed2ea
removed signatures for now
2010-10-13 12:49:26 -04:00
Matthias Felleisen
df62ca47e9
added 'function', Closes PR 11283
2010-10-13 10:31:00 -04:00
Mike Sperber
f3191ff4d6
Define `any' signature differently.
...
... to actually enable the subtyping check. Also, make named
signatures work for signature variables.
2010-10-13 09:41:10 +02:00
Mike Sperber
eebe5b2e2b
2nd attempt at generators for records/structs.
...
This time, with feeling.
2010-10-11 13:34:16 +02:00
Mike Sperber
f706b0d7a7
Revert "Create arbitraties off parametric struct/record signature constructors."
...
This reverts commit 7df9a22a67
.
It was broken in several ways. New attempt later.
2010-10-09 17:48:58 +02:00
Matthew Flatt
6ac33a62be
set `read-accept-lang' to #t by default, plus related adjustments
...
including adding some uses of `with-module-read-parameterization'
so that `read-accept-lang' is set right anyway; still, so many
many places just set `read-accept-reader' to #t that making
`read-accept-lang' #f by default looks like too big of an
incompatibility
2010-10-08 19:01:33 -06:00
Mike Sperber
4ec7cb1d88
Unbreak coverage for *SL `define-struct'.
2010-10-08 19:56:51 +02:00
Mike Sperber
7df9a22a67
Create arbitraties off parametric struct/record signature constructors.
...
This enables QuickCheck value generations for structs/records.
2010-10-08 17:21:07 +02:00
Mike Sperber
219c91d8e7
Check parametric struct/record signatures eagerly.
2010-10-08 17:01:47 +02:00
Mike Sperber
9b1188c77a
Re-instate Robby's hack to display test results off REPL errors.
...
... and generalize it so there's an action before (clearing the old
tests out) in addition to after (displaying the test results).
Also, do for DMdA as for HtDP.
2010-10-08 15:25:44 +02:00
Mike Sperber
3e205b6193
Better error message for certain bogus signatures.
2010-10-08 13:55:42 +02:00
Mike Sperber
7572b24870
Unbreak stepper.
...
(It was broken by fed1e3dc3e2d7268c0297a0ce699d3deb2ba75c5.)
2010-10-08 13:41:44 +02:00
Mike Sperber
38cf78e213
Allow specifying arbitary expressions in a signature declaration.
...
Fixes PR 11282
2010-10-08 13:12:18 +02:00
Mike Sperber
1e44fc8e43
More "contract" -> "signature" identifier renaming.
2010-10-08 11:51:33 +02:00
Mike Sperber
91590040dc
Ignore duplicate signature declarations.
2010-10-08 11:50:17 +02:00
Mike Sperber
87da2f35b9
Provide English and German versions of deinprogramm/signature/signature.
2010-10-08 11:19:38 +02:00
Mike Sperber
b98b83b672
Make uncaught exceptions in teaching languages pop up test-engine display.
...
... so as to catch any test-case failures or signature violations that
may have occurred.
2010-10-08 10:25:37 +02:00
Mike Sperber
6997b08fa2
Remove front-end/interaction hack for test-engine.
...
It's not needed anymore after Robby's fix to namespace handling in the
teaching languages.
2010-10-08 09:28:07 +02:00
Robby Findler
fed1e3dc3e
adjusted the way the teaching languages work so that signature
...
violations in the REPL are tracked.
2010-10-07 14:27:56 -05:00
Eli Barzilay
2189957b6f
Change the errortrace protocol for `initialize-test-coverage-point' and
...
`test-covered' to use just the expression -- looks like there's no
reason to use an additional key.
Also, change its uses to map each syntax to an mcons where its mcar is
used to track coverage. This is done everywhere, since it turns out to
be much faster to insert a `set-mcar!' with a 3d mpair, rather than a
call to a thunk.
Note that it still uses mpairs as a hack. It "works" in the same way
that this simplified example does:
(define-syntax m
(let ([b (mcons 0 0)])
(lambda (stx)
(with-syntax ([b b])
#'(case-lambda [() (mcar b)]
[(x) (set-mcar! b x)])))))
I think that it's fragile, and likely to stop working at some point, but
I don't see anything better for now.
2010-10-04 17:24:22 -04:00
Matthias Felleisen
725da3b2ed
fix string-ith problem, Closes PR 11261
2010-09-28 18:07:10 -04:00
Robby Findler
feddcdaef9
closes PR 11241
2010-09-23 06:25:21 -05:00
Mike Sperber
65bd667be2
Make parametric signatures work in BSL.
2010-09-22 11:35:00 +02:00
Mike Sperber
7304c061e3
Add `cons-of' signature constructor to HtDP languages.
2010-09-22 11:31:24 +02:00
Mike Sperber
593f8588fe
Implement lazy signature checking for ordinary pairs.
2010-09-22 11:03:01 +02:00
Mike Sperber
98c9ad4d22
Add `Any' contract to HtDP languages.
2010-09-21 16:23:58 +02:00
Mike Sperber
333d82e6df
Fix some error messages for invalid : signature declarations.
2010-09-17 18:02:33 +02:00
Mike Sperber
8bc95ace01
Unbreak signatures for BSL.
2010-09-17 18:02:33 +02:00
Robby Findler
4bbb1f4cd9
Added a second column for the 2htdp teachpacks to the choose-a-teachpack dialog
...
closes PR 11170
2010-09-07 17:34:08 -05:00
Robby Findler
5e04a5c6d9
When opening a new window where the language is one of the htdp languages (via the
...
language dialog, not the #lang htdp/* variants), teachpacks are put into the
initial REPL (instead of just having the language primitives).
closes PR 11160
2010-09-04 19:37:02 -05:00
Matthew Flatt
036ed57000
fix *SL `define-struct' expand-time info: omit non-existent struct type
2010-08-30 16:11:08 -06:00
Robby Findler
b1550d6c9b
changed the expansion of the ... macro in the teaching languages so that
...
it cooperates with the test coverage annotations in drracket.
closes PR 11138
2010-08-30 09:23:34 -05:00
Robby Findler
7020cb6e4c
adjusted the language dialog so that the output-style and fraction-style radio boxes aren't adjacent
2010-08-29 08:20:53 -05:00
Eli Barzilay
8e0f8dd39c
More "~n" -> "\n" changes
2010-08-26 12:11:00 -04:00
Jay McCarthy
45a8854398
Adding immutable hash operations to ASL
2010-08-25 10:36:36 -06:00
Jay McCarthy
368d711ae2
Optional arguments to hash table constructors in ASL
2010-08-25 10:36:34 -06:00
Matthew Flatt
0955ed6e8b
fix custom printer attached to *SL structure types
2010-08-24 06:23:22 -06:00
Robby Findler
611e04abda
adjusted the expansion so that the references to "foo" in this ISL program:
...
(define-struct foo (x))
(: make-foo (Number -> foo))
(: foo-x (foo -> Number))
(define x (make-foo 5))
(foo-x x)
don't get colored the "not yet executed" color.
2010-08-23 10:23:34 -05:00
Matthew Flatt
a7bc964c69
fix problem with binding of *SL struct-type name and application
2010-08-19 07:38:25 -06:00
Robby Findler
ee3a837ee2
fixes the other aspect of PR 11062
2010-07-31 09:15:11 -05:00
Matthew Flatt
0e8af6bc5d
fix acc/mut error msgs from `define-struct' in teaching languages
...
Merge to 5.0.1
Closes PR 11062
2010-07-30 11:16:32 -06:00
Jay McCarthy
407dcee206
Adding match to ASL
2010-07-22 15:39:53 -06:00
Jay McCarthy
eeada45868
Fixing error string
2010-07-22 15:12:07 -06:00
Jay McCarthy
9eb053d4db
Adding define-datatype to ASL
2010-07-22 11:36:04 -06:00
Jay McCarthy
c9ccf6d48b
Adding all hash prims per SK
2010-07-16 09:43:03 -06:00
Jay McCarthy
d17deb5fef
Adding hash table functions to ASL
2010-07-15 15:45:54 -06:00
Mike Sperber
5cd0a37d5e
Re-export struct:posn from lang/posn.
...
I hadn't checked someone is using it.
2010-06-28 15:00:32 +02:00
Mike Sperber
faf8ec358f
Rename DMdA/HtDP "contract" to "signature".
2010-06-28 14:58:16 +02:00
Mike Sperber
3319fa41d0
Add properties to the HtDP teaching languages.
2010-06-09 14:16:34 +02:00
Mike Sperber
c7a7eb0a58
Export Symbol contract into HtDP teaching languages.
2010-06-09 13:57:17 +02:00
Mike Sperber
f29b6483f9
Export `posn' contract to the HtDP teaching languages.
2010-06-09 13:46:51 +02:00
Mike Sperber
744b45f470
Rename HtDP list' contract to
list-of'.
2010-06-09 12:07:47 +02:00
Mike Sperber
5b4d25295d
Make `define-struct' define contracts.
...
In particular, in
(define-struct foo (a b))
... foo is a contract, and a contract combinator `foo-of' is defined.
2010-06-09 11:07:22 +02:00
Mike Sperber
da88f22b0e
Change do-define-struct' to use
make-struct-type' explicitly.
...
This is to enable the contracts work that is to come.
2010-06-08 14:20:07 +02:00
Mike Sperber
97a04e9f9d
Fix error message to match the test suite's check for it.
2010-06-08 11:22:35 +02:00
Mike Sperber
dee21e9e73
Add what's needed, delete what's in the way.
...
Stuff I had forgotten earlier.
2010-06-08 09:26:07 +02:00
Mike Sperber
b0e6e6b55d
Merge remote branch 'origin/master'
2010-06-07 17:26:34 +02:00
Robby Findler
c96bbe640d
makes image=? work on 2htdp/image images.
2010-05-26 20:55:24 -05:00
Mike Sperber
f899fdf15d
Report the correct position for a blamed procedure.
...
... if the `lambda' of that procedure was the result of expanding a `define':
Attach the `define''s source location to the `lambda' expression.
2010-05-21 19:39:27 +02:00
Mike Sperber
8d39c15b17
Make contracts available in HtDP languages.
...
Known breakage: when blame is assigned to a procedure defined via
(define (f ...) ...), its source position isn't reported because its
lambda expression is generated.
2010-05-21 19:30:37 +02:00
Mike Sperber
8590e8cadf
Merge deinprogramm contract test-engine into the regular one.
...
This adds support for contracts.
2010-05-20 15:31:45 +02:00
Matthew Flatt
9fc5cbfa2c
Fix syntax error in ASL
...
Closes PR 10914
Merge to v5.0
2010-05-19 15:11:41 -06:00
Eli Barzilay
de0cc7771b
A lot of "DrScheme" -> "DrRacket"s.
2010-05-17 01:27:03 -04:00
Eli Barzilay
7f6efdc8be
A lot of "MrEd" -> "GRacket"s.
2010-05-16 23:46:05 -04:00
Matthew Flatt
b26bf5e225
fix DrRacket printing styles and distinguish 'print' vs. 'write'
2010-05-08 10:18:50 -06:00
Matthew Flatt
eb15dceb34
rackety misc docs
2010-05-07 09:13:51 -06:00
Matthew Flatt
043f97df97
fix more test files
2010-05-01 07:23:05 -06:00
Robby Findler
f46ad89200
fixed a preference setting
2010-04-29 11:06:27 -05:00
Matthew Flatt
32de6647dc
fix HtDP language printing
2010-04-28 08:55:16 -06:00
Matthew Flatt
28b4043077
rename all files .ss -> .rkt
2010-04-27 16:50:15 -06:00
Matthew Flatt
616080c7c4
change 'define-struct' to bind the type name as a constructor, add an #:extra-constructor-name option, etc.
2010-04-25 12:10:36 -06:00
Matthias Felleisen
6bc3484ae0
added member? as an alias for member to BSL
2010-04-20 22:48:41 -04:00
Matthew Flatt
0550cc3680
htdp language readers introduce explicit #%module-begin (for consistency with other #lang-based languages, as requested by JPR); merge to4.2.5
...
svn: r18605
2010-03-23 13:34:00 +00:00
Robby Findler
50a6a585b1
fixed some repl-printing related bugs that would make 'write' sensitive to pretty-print's parameters in drscheme's repl
...
svn: r18321
2010-02-24 17:35:09 +00:00
Robby Findler
6f4c164793
improved the implementation of error in the teaching languages, added test casees
...
svn: r17923
2010-02-01 15:39:33 +00:00
Matthew Flatt
1086cefc7a
add empty to the list of things that are not structs for HtDP langs
...
svn: r17563
2010-01-08 13:38:48 +00:00
Matthew Flatt
1e2cb09f39
fix HtDP advanced docs for random
...
svn: r17470
2010-01-03 18:04:44 +00:00
Matthias Felleisen
560234138c
error docs fixed
...
svn: r17455
2009-12-31 19:08:19 +00:00
Matthias Felleisen
7f2bce0130
added with-in/out from/to string for Bloch
...
svn: r17453
2009-12-31 14:50:47 +00:00
Matthias Felleisen
5296a0a877
added gensym, current-millisecond, sleep, assoc, with-i/o-from-to
...
svn: r17444
2009-12-30 22:45:12 +00:00
Matthias Felleisen
e9be5c92fe
added (random) to ASL
...
svn: r17438
2009-12-30 15:26:28 +00:00
Robby Findler
e821a0c461
separated 2htdp/universe from htdp/image, allowing either htdp/image or 2htdp/image to be used
...
svn: r17430
2009-12-29 23:59:39 +00:00
Matthias Felleisen
bd0f694803
svn: r17109
2009-11-30 16:16:50 +00:00
Matthias Felleisen
2bb3403f88
modified error to take arbitrary number of arguments
...
svn: r17108
2009-11-30 15:31:38 +00:00
Eli Barzilay
09c8baf7e7
Re-enable context searches for the htdp languages, with results that
...
come from the language or the teachpacks.
svn: r16945
2009-11-21 22:05:28 +00:00
Matthias Felleisen
2153c258db
fixed to docs of eq?, eqv?, memq, and memv
...
svn: r16742
2009-11-13 03:30:46 +00:00
Matthias Felleisen
26bf0a7297
added list* to advanced
...
svn: r16492
2009-10-31 16:13:57 +00:00
Matthew Flatt
f3de56f742
fix 'append' in ISL+ to disallow a non-list last argument (merge to 4.2.2)
...
svn: r16166
2009-09-29 15:28:44 +00:00