Mike Sperber
4bf3ca44d0
Unbreak DMdA REPL.
...
Follow Robby's commit to htdp-langs.rkt.
2010-10-27 19:48:59 +02:00
Mike Sperber
594c72167e
use #%plain-app to avoid possible problems with code injected into the teaching languages
...
Follow ae37e186e7
for DMdA.
2010-10-20 12:37:05 +02:00
Mike Sperber
17c4cb9254
Two more (hopefully last) renamings "Vertrag" -> "Signatur"
...
(i.e. "contract" -> "signature" in German)
2010-10-18 13:30:34 +02:00
Mike Sperber
2a418b9cf0
For DMdA, follow Robby's fix for htpd-langs.ss.
...
Namely, don't set an uncaught-exception-handler.
2010-10-18 09:36:17 +02: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
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
b80d327d40
DMdA typo fix.
...
--HG--
extra : rebase_source : d6f5e160c655713f30df544a60c8033410945103
2010-10-12 14:53:12 +02:00
Mike Sperber
03c2fa266b
Update DMdA docs on generators for `check-property'.
...
--HG--
extra : rebase_source : 0cfb8434a19c3d2f2783a0f1d882fecd85c5d432
2010-10-12 14:50:22 +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
f35477b82b
Make the weak table for the signature-checked pairs truly weak.
...
... by wrapping ephemerons around the values.
2010-10-09 17:51:30 +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
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
5dad68b384
Zap `DMdA-' from primitive procedures in DMdA.
...
Meaning the the procedure names are displayed without the "DMdA-"
prefix in the stepper and the REPL.
2010-10-08 15:25:44 +02:00
Mike Sperber
b4493fdab4
Add cons' and
cons?' as synonyms for make-pair' and
pair?' to DMdA.
...
Requested by Michael Hanus & Peter Thiemann.
2010-10-08 15:25:44 +02:00
Mike Sperber
29a0511439
Give the type-name signature off `define-record-procedures' a name.
2010-10-08 15:25:44 +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
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
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
Mike Sperber
593f8588fe
Implement lazy signature checking for ordinary pairs.
2010-09-22 11:03:01 +02:00
Mike Sperber
716c722bab
LaTeX fix for documentation.
2010-09-18 15:09:11 +02:00
Mike Sperber
fcdfefea10
"Vertrag" -> "Signatur" in a few places.
2010-09-17 18:02:34 +02:00
Mike Sperber
333d82e6df
Fix some error messages for invalid : signature declarations.
2010-09-17 18:02:33 +02:00
Mike Sperber
11f6ec1b98
Updated DMdA signature docs.
...
Added `any' and `unspecific', and some minor reorganization.
2010-09-17 10:00:54 +02:00
Mike Sperber
9e94a327b8
Add `any' signature to DMdA languages.
2010-09-16 18:19:32 +02:00
Mike Sperber
9d35548997
Unbreak `list-of'.
2010-09-09 13:17:22 +02:00
Mike Sperber
3f8b2e6ea2
Provide built-in `computer' record type for DMdA.
...
`chocolate-cookie' has been wildly unpopular, so we'll try this next semester.
Also, clean up the `provide' forms for the chocolate cookies.
2010-09-09 11:56:42 +02:00
Mike Sperber
8611cd8731
Zap `begin' from DMdA-beginner and DMdA-vanilla.
2010-09-09 11:32:37 +02:00
Mike Sperber
c47ad74b1b
Move the prim-op-defns of the DMdA-vanilla docs to right place.
2010-09-09 11:28:59 +02:00
Mike Sperber
d874065e26
Zap let, letrec, let* from DMdA-beginner language.
2010-09-09 11:22:57 +02:00
Mike Sperber
050f0a141b
Add `list-of' signature to DMdA languages.
2010-09-09 11:12:33 +02:00
Eli Barzilay
7dc4d2e5a6
Change a bunch of "~%" and "~n" in format strings to "\n".
2010-08-25 17:17:01 -04:00
Mike Sperber
00061e6bb9
Make `procedure-to-blame' applicable.
...
This unbreaks some applications of procedures with signature
violations.
2010-08-25 16:00:47 +02:00
Mike Sperber
a4e7ef3594
Push mixed' contracts down into lazy
struct' contracts.
2010-08-23 14:40:21 +02:00
Mike Sperber
225a42b832
Pass back the procedure on certain signature violations.
...
Closes PR 11117.
2010-08-23 10:08:40 +02:00
Mike Sperber
5f25c239f2
Merge remote branch 'local-plt/master'
...
Conflicts:
collects/deinprogramm/define-record-procedures.scm
collects/test-engine/scheme-tests.rkt
collects/test-engine/test-display.scm
2010-07-13 17:13:30 +02:00
Mike Sperber
faf8ec358f
Rename DMdA/HtDP "contract" to "signature".
2010-06-28 14:58:16 +02:00
Mike Sperber
2c964b91f0
Provide prop:print-converter propery with `define-record-procedures'.
...
This fixes quasiquote and constructor-style printing to not fall for
the extra lazy-contract-checking field.
2010-06-09 14:37:36 +02:00
Mike Sperber
fc879f1894
Make use of stepper-define-struct-hint' in
define-record-procedures'.
2010-06-09 14:33:21 +02:00
Mike Sperber
30f9cd0dab
Merge remote branch 'local-plt/master'
2010-06-08 14:22:51 +02:00
Mike Sperber
b0e6e6b55d
Merge remote branch 'origin/master'
2010-06-07 17:26:34 +02:00
Mike Sperber
93d7ec9446
Don't recheck DMdA lazy contracts we've already checked.
...
We avoided re-applying contracts that haven't been checked, but not
those that have. Do so now.
2010-06-07 17:06:07 +02:00
Mike Sperber
a0d82d07a6
Fix interaction between new DMdA contract representation and stepper.
...
- add proper hash procedures
- fix prining
2010-06-01 20:10:11 +02:00
Mike Sperber
5f8924b1d2
Fix various interaction breakage between the new DMdA records and the stepper.
...
Namely, attach the `stepper-ignore-completely' property to each
individual definition, rather than just to the block of definitions as a whole.
2010-06-01 20:10:11 +02:00