Commit Graph

143 Commits

Author SHA1 Message Date
Robby Findler
e7d0029aea added lots of new tests that our documentation is complete 2011-04-25 13:24:43 -05:00
Mike Sperber
18662741fb Fix signature-checking bug with DMdA's `define-record-procedures'.
Define the predicate before the constructor, as the predicate may be
used in checking the signature of the constructor.
2011-01-22 16:23:23 +01:00
Robby Findler
2ddf90f3fc adjusted deinprogramm preferences to use the framework preference system so that drracket still starts up when there is a locked preference file under windows 2011-01-20 14:08:32 -06:00
Mike Sperber
1b97013496 In QuickCheck, fix bug in lift->generator.
This would result in aggregates where all the generators start from
the same seed.
2011-01-16 20:04:32 +01:00
Mike Sperber
894c531f6c Make DMdA's fold more robust. 2011-01-15 13:08:00 +01:00
Mike Sperber
69963a1f2c Fix bug in struct-wrap signature checking.
Only check the fields if we know the struct type is right.
2011-01-06 13:53:51 +01:00
Mike Sperber
fa854f62fc Add vector signatures, and `vector-of' to the HtDP signature syntax. 2010-12-19 11:20:51 +01:00
Matthew Flatt
489c5de9e8 another module-body duplication 2010-12-15 12:28:09 -07:00
Mike Sperber
3f74e662ed Add tool.rkt needed for "Disable Signature Check".
I'd screwed up previously.
2010-12-15 08:17:57 +01:00
Matthew Flatt
de271aa698 temporary workaround for missing(?) tool module 2010-12-14 14:53:47 -07:00
Casey Klein
8368dcaca1 Fixes apparent copy-paste error 2010-12-14 12:26:11 -06:00
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
a671fddc18 Better signature for `string->number'. 2010-11-22 15:33:49 +01:00
Mike Sperber
39b3a289c5 Update signatutures and explanations on DMdA primitives. 2010-11-22 09:29:54 +01:00
Mike Sperber
9c607d39e7 Further refine DMdA signatures for lcm' and gcd'. 2010-11-17 17:15:31 +01:00
Mike Sperber
c7700dbe06 Fix signatures for gcd' and lcd' in DMdA. 2010-11-10 18:59:40 +01:00
Mike Sperber
c6334b549f "list" -> "list-of" in DMdA docs. 2010-11-10 18:58:37 +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
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