everything except lambda, app units work

svn: r14008
This commit is contained in:
Sam Tobin-Hochstadt 2009-03-07 23:19:41 +00:00
parent 18e03efc84
commit 8b7497cccf
4 changed files with 5 additions and 25 deletions

View File

@ -4,7 +4,7 @@
(require syntax/kerncase
scheme/match
"signatures.ss"
(private type-utils type-effect-convenience union subtype)
(types utils convenience union subtype)
(utils tc-utils)
(rep type-rep))
@ -18,7 +18,7 @@
(define body-ty #f)
(define (get-result-ty t)
(match t
[(Function: (list (arr: _ rngs #f _ '() _ _) ...)) (apply Un rngs)]
[(Function: (list (arr: _ (Values: (list (Result: rngs _ _))) #f _ '()) ...)) (apply Un rngs)]
[_ (tc-error "Internal error in get-result-ty: not a function type: ~n~a" t)]))
(let loop ([form form])
(parameterize ([current-orig-stx form])

View File

@ -1,21 +0,0 @@
#lang scheme/base
(require mzlib/struct mzlib/unit)
(provide #;(all-defined))
(define-syntax defstructs/sig/unit
(syntax-rules (define-struct/properties)
[(_ signame unitname (imps ...)
def
(define-struct/properties nm1 (flds1 ...) props #f)
(define-struct/properties (nm par) (flds ...) () #f) ...)
(begin
(define-signature signame
((struct nm1 (flds1 ...))
(struct nm (flds ...)) ...))
(define-unit unitname
(import imps ...)
(export signame)
def
(define-struct/properties nm1 (flds1 ...) props #f)
(define-struct (nm par) (flds ...) #f) ...))]))

View File

@ -4,7 +4,7 @@
(require "signatures.ss"
(utils tc-utils)
(env type-environments)
(private type-utils)
(types utils)
(rep type-rep)
syntax/kerncase
scheme/match)

View File

@ -2,7 +2,8 @@
(require (rename-in "../utils/utils.ss" [infer r:infer]))
(require "signatures.ss"
(private type-effect-convenience type-annotation parse-type type-utils)
(types utils convenience)
(private type-annotation parse-type)
(env lexical-env type-alias-env type-env)
syntax/free-vars
mzlib/trace