Added types for dynamic module access operations.

original commit: 1a44a82868f662c067fe3823d3be852fa03da977
This commit is contained in:
Eric Dobson 2011-06-23 12:49:15 -04:00 committed by Sam Tobin-Hochstadt
parent be93d9c98f
commit a8af94e892

View File

@ -1643,6 +1643,60 @@
(-> -Compiled-Module-Expression
(-opt (make-HeterogenousVector (list -Module-Path -Symbol Univ))))]
;Section 13.4.3
[dynamic-require
(let ((mod (Un -Module-Path -Resolved-Module-Path -Module-Path-Index)))
(-poly (a)
(cl->* (-> mod (Un (-val #f) (-val 0) -Void) -Void)
(-> mod (Un (-val #f) (-val 0) -Void) (-> a) (Un -Void a))
(->opt mod Sym [(-> Univ)] ManyUniv))))]
[dynamic-require-for-syntax
(let ((mod (Un -Module-Path -Resolved-Module-Path -Module-Path-Index)))
(-poly (a)
(cl->* (-> mod (-val #f) -Void)
(-> mod (-val #f) (-> a) (Un -Void a))
(->opt mod Sym [(-> Univ)] ManyUniv))))]
[module->language-info
(->opt (Un -Module-Path -Path -Resolved-Module-Path) [Univ] (-opt (make-HeterogenousVector (list -Module-Path -Symbol Univ))))]
[module->imports (-> -Compiled-Module-Expression
(-lst (-pair (-opt -Integer)
(-lst -Module-Path-Index))))]
[module->exports
(-> -Compiled-Module-Expression
(-values
(list
(-lst (-pair (-opt -Integer)
(-lst (-pair -Symbol
(-pair
(-lst
(Un -Module-Path-Index
(-pair -Module-Path-Index
(-pair (-opt -Integer)
(-pair -Symbol
(-pair (-opt -Integer)
(-val null)))))))
(-val null))))))
(-lst (-pair (-opt -Integer)
(-lst (-pair -Symbol
(-pair
(-lst
(Un -Module-Path-Index
(-pair -Module-Path-Index
(-pair (-opt -Integer)
(-pair -Symbol
(-pair (-opt -Integer)
(-val null)))))))
(-val null)))))))))]
[compose (-poly (a b c) (-> (-> b c) (-> a b) (-> a c)))]