-
-
Notifications
You must be signed in to change notification settings - Fork 103
Open
Description
What version of Racket are you using?
v8.15 [cs]
What program did you run?
#lang typed/racket/base/shallow
(displayln 'start)
(module goto racket/base
(provide goto label)
(define (goto l) (l l))
(define (label) (call/cc goto)))
(module types typed/racket/base
(provide Goto Label)
(define-type (Goto a) (∪ a (→ a Nothing)))
(define-type Label (Goto Label)))
(require 'types)
(require/typed/provide 'goto
[label (∀ (a) (→ (→ a Nothing)))]
[goto Label])
What should have happened?
The program should print start
and then terminate, similar to the following working examples:
#lang typed/racket/base/shallow
(displayln 'start)
(module goto racket/base
(provide goto label)
(define (goto l) (l l))
(define (label) (call/cc goto)))
(define-type (Goto a) (∪ a (→ a Nothing)))
(define-type Label (Goto Label))
(require/typed/provide 'goto
[label (∀ (a) (→ (→ a Nothing)))]
[goto Label])
#lang typed/racket/base/optional
(displayln 'start)
(module goto racket/base
(provide goto label)
(define (goto l) (l l))
(define (label) (call/cc goto)))
(module types typed/racket/base
(provide Goto Label)
(define-type (Goto a) (∪ a (→ a Nothing)))
(define-type Label (Goto Label)))
(require 'types)
(require/typed/provide 'goto
[label (∀ (a) (→ (→ a Nothing)))]
[goto Label])
If you got an error message, please include it here.
No error message is displayed. The program simply hangs indefinitely after printing start
.
bennn
Metadata
Metadata
Assignees
Labels
No labels