diff --git a/collects/deinprogramm/define-record-procedures.scm b/collects/deinprogramm/define-record-procedures.scm index 2693ab6252..24864a4c74 100644 --- a/collects/deinprogramm/define-record-procedures.scm +++ b/collects/deinprogramm/define-record-procedures.scm @@ -189,14 +189,15 @@ type-descriptor raw-predicate sigs #'?type-name))) - (let ((arbs (map signature-arbitrary sigs))) - (when (andmap values arbs) - (set-signature-arbitrary! - sig - (apply arbitrary-record - ?constructor - (list raw-accessor-proc ...) - arbs)))) + (set-signature-arbitrary-promise! + sig + (delay + (let ((arbs (map signature-arbitrary sigs))) + (when (andmap values arbs) + (apply arbitrary-record + ?constructor + (list raw-accessor-proc ...) + arbs))))) sig))) 'stepper-skip-completely #t))) diff --git a/collects/deinprogramm/signature/signature.rkt b/collects/deinprogramm/signature/signature.rkt index 0f37ad17f3..24f57af199 100644 --- a/collects/deinprogramm/signature/signature.rkt +++ b/collects/deinprogramm/signature/signature.rkt @@ -4,7 +4,7 @@ signature-name signature-syntax signature-enforcer signature-arbitrary-promise signature-<=?-proc signature-=?-proc - signature-arbitrary set-signature-arbitrary! + signature-arbitrary set-signature-arbitrary! set-signature-arbitrary-promise! signature-info-promise signature-violation signature-violation-proc call-with-signature-violation-proc