everything except lambda, app units work
svn: r14008
This commit is contained in:
parent
18e03efc84
commit
8b7497cccf
|
@ -4,7 +4,7 @@
|
||||||
(require syntax/kerncase
|
(require syntax/kerncase
|
||||||
scheme/match
|
scheme/match
|
||||||
"signatures.ss"
|
"signatures.ss"
|
||||||
(private type-utils type-effect-convenience union subtype)
|
(types utils convenience union subtype)
|
||||||
(utils tc-utils)
|
(utils tc-utils)
|
||||||
(rep type-rep))
|
(rep type-rep))
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
(define body-ty #f)
|
(define body-ty #f)
|
||||||
(define (get-result-ty t)
|
(define (get-result-ty t)
|
||||||
(match 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)]))
|
[_ (tc-error "Internal error in get-result-ty: not a function type: ~n~a" t)]))
|
||||||
(let loop ([form form])
|
(let loop ([form form])
|
||||||
(parameterize ([current-orig-stx form])
|
(parameterize ([current-orig-stx form])
|
||||||
|
|
|
@ -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) ...))]))
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
(require "signatures.ss"
|
(require "signatures.ss"
|
||||||
(utils tc-utils)
|
(utils tc-utils)
|
||||||
(env type-environments)
|
(env type-environments)
|
||||||
(private type-utils)
|
(types utils)
|
||||||
(rep type-rep)
|
(rep type-rep)
|
||||||
syntax/kerncase
|
syntax/kerncase
|
||||||
scheme/match)
|
scheme/match)
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
|
|
||||||
(require (rename-in "../utils/utils.ss" [infer r:infer]))
|
(require (rename-in "../utils/utils.ss" [infer r:infer]))
|
||||||
(require "signatures.ss"
|
(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)
|
(env lexical-env type-alias-env type-env)
|
||||||
syntax/free-vars
|
syntax/free-vars
|
||||||
mzlib/trace
|
mzlib/trace
|
||||||
|
|
Loading…
Reference in New Issue
Block a user