Commit Graph

11 Commits

Author SHA1 Message Date
John Clements
c01e8c1564 refactored to reduce stepper dependencies 2012-06-19 23:51:59 -07: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
6bee489091 Add menu item to disable signature checking. 2010-12-14 17:29:30 +01: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
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
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