start on typed/scheme

svn: r16896

original commit: d28add0fa915e099e11fbd7ef44fb2e3e2c0ee40
This commit is contained in:
Sam Tobin-Hochstadt 2009-11-19 19:47:51 +00:00
parent 812d2549dd
commit 7fe635dfee
8 changed files with 56 additions and 13 deletions

View File

@ -1,9 +1,9 @@
#lang scheme/base
(provide #%module-begin provide require rename-in rename-out prefix-in only-in all-from-out except-out except-in
providing begin)
providing begin subtract-in)
(require (for-syntax scheme/base))
(require (for-syntax scheme/base) scheme/require)
(define-for-syntax ts-mod 'typed-scheme/typed-scheme)

View File

@ -8,7 +8,7 @@
'#%paramz
"extra-procs.ss"
(only-in '#%kernel [apply kernel:apply])
scheme/promise
scheme/promise scheme/system
(only-in string-constants/private/only-once maybe-print-message)
(only-in scheme/match/runtime match:error matchable? match-equality-test)
(for-syntax (only-in (types abbrev) [-Number N] [-Boolean B] [-Symbol Sym])))
@ -830,3 +830,9 @@
[vector-split-at-right
(-poly (a) ((list (-vec a)) -Integer . ->* . (-values (list (-vec a) (-vec a)))))]
;; scheme/system
[system (-String . -> . -Boolean)]
[system* ((list -Pathlike) -String . ->* . -Boolean)]
[system/exit-code (-String . -> . -Integer)]
[system*/exit-code ((list -Pathlike) -String . ->* . -Integer)]

View File

@ -0,0 +1,10 @@
#lang scheme
(define-syntax (mb stx)
(syntax-case stx ()
[(_ id)
#'(#%plain-module-begin
(require id)
(provide (all-from-out id)))]))
(provide (rename-out [mb #%module-begin]))

4
collects/typed/scheme.ss Normal file
View File

@ -0,0 +1,4 @@
#lang s-exp typed-scheme/minimal
(require typed/scheme/base (subtract-in scheme typed/scheme/base scheme/contract))
(provide (all-from-out typed/scheme/base scheme))

View File

@ -0,0 +1,16 @@
#lang s-exp typed-scheme/minimal
(providing (libs (except scheme/base #%module-begin #%top-interaction with-handlers lambda #%app)
(except typed-scheme/private/prims)
(except typed-scheme/private/base-types)
(except typed-scheme/private/base-types-extra))
(basics #%module-begin
#%top-interaction
lambda
#%app))
(require typed-scheme/private/base-env typed-scheme/private/base-special-env
(for-syntax typed-scheme/private/base-types-extra))
(provide (rename-out [with-handlers: with-handlers])
(for-syntax (all-from-out typed-scheme/private/base-types-extra)))

View File

@ -0,0 +1,8 @@
#lang s-exp syntax/module-reader
typed-scheme
#:read r:read
#:read-syntax r:read-syntax
(require (prefix-in r: typed-scheme/typed-reader))

View File

@ -0,0 +1,8 @@
#lang s-exp syntax/module-reader
typed-scheme
#:read r:read
#:read-syntax r:read-syntax
(require (prefix-in r: typed-scheme/typed-reader))

View File

@ -1,10 +1 @@
#lang typed-scheme
(require typed/private/utils)
(require/typed/provide
scheme/system
[system (String -> Boolean)]
[system* (Path-String String * -> Boolean)]
[system/exit-code (String -> Integer)]
[system*/exit-code (Path-String String * -> Integer)])
#lang s-exp typed/private/wrap scheme/system