Contract generation for continuation mark keys

original commit: 5fbeffaec6094e8599175fde71ddc4194c2f5f1d
This commit is contained in:
Asumu Takikawa 2012-11-02 11:06:59 -04:00
parent 373a7e8b0e
commit 72b7c5962e

View File

@ -1,5 +1,7 @@
#lang racket/base
;; Contract generation for Typed Racket
(provide type->contract define/fixup-contract? change-contract-fixups)
(require
@ -337,6 +339,9 @@
#`(promise/c #,(t->c t))]
[(Opaque: p? cert)
#`(flat-named-contract (quote #,(syntax-e p?)) #,(cert p?))]
[(Continuation-Mark-Key: t)
(set-chaperone!)
#`(continuation-mark-key/c #,(t->c t))]
;; TODO
[(F: v) (cond [(assoc v (vars)) => second]
[else (int-err "unknown var: ~a" v)])]