Mike Sperber
35f141b7bc
Add some missing `delay's in DeinProgramm signatures.
...
Spotted by: Stephen Chang
2012-06-17 09:21:58 +02:00
Eli Barzilay
17090fca4f
A bunch of fprintf' ->
eprintf' conversions (and a few related things).
2012-05-06 12:06:00 -04:00
Mike Sperber
c080940d02
Fix infinite recursive signatures.
...
Such as this, submitted by Torsten Grust:
(define-record-procedures-parametric stream_ stream-of
make-stream
stream?
(stream-head stream-tail))
(define stream
(lambda (t)
(signature (stream-of t (-> (stream t))))))
(: from (number -> (stream number)))
(define from
(lambda (n)
(make-stream n (lambda () (from (+ n 1))))))
(: foo (stream number))
(define foo (from 1))
The problem was that the arbitaries got evaluated too eagerly.
2011-12-18 14:18:42 +01:00
Mike Sperber
36d3745d4c
Unbreak "Enable signature checking".
...
Previously, if you disabled it once, it would stay disabled.
2011-10-21 20:43:50 +02:00
Robby Findler
7acc5b7852
adjust HtDP teaching languages' first and rest so that they accept circular lists.
...
This commit fix an unintentional change introduced by this commit:
c7d67f9bab
(and it also adds in test cases for what that commit appears to have
been doing)
Assuming everyone agrees that the behavior for first rest from back
in 2010 is the behavior we still want (and the lack of release notes
on the subject makes me believe that we do), then:
Please include in 5.2.
2011-10-21 08:09:34 -05:00
Matthew Flatt
d3c56c9f13
generalized `begin-for-syntax'
2011-09-08 14:06:00 -06:00
Mike Sperber
d582dd55dd
Fix bug in vector signatures.
2011-05-01 11:18:10 +02: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
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
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
17c4cb9254
Two more (hopefully last) renamings "Vertrag" -> "Signatur"
...
(i.e. "contract" -> "signature" in German)
2010-10-18 13:30:34 +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
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
219c91d8e7
Check parametric struct/record signatures eagerly.
2010-10-08 17:01:47 +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
593f8588fe
Implement lazy signature checking for ordinary pairs.
2010-09-22 11:03:01 +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
9d35548997
Unbreak `list-of'.
2010-09-09 13:17:22 +02:00
Mike Sperber
050f0a141b
Add `list-of' signature to DMdA languages.
2010-09-09 11:12:33 +02: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
faf8ec358f
Rename DMdA/HtDP "contract" to "signature".
2010-06-28 14:58:16 +02:00