Begin transition to racket lang in lang-utils.rkt

-Maximize the number of bindings brought in from racket vs. mzscheme by
replacing mzscheme in the (all-except mzscheme form with racket.
-import from mzscheme sparingly rather than bringing it all in except
the lang-core bindings.
-switch mzlib/list require to racket/list
-some cleanup of requires and provides
This commit is contained in:
Patrick Mahoney 2012-08-03 19:29:03 -04:00 committed by Gregory Cooper
parent 69de8e95b3
commit 01ec2d3fde
2 changed files with 55 additions and 29 deletions

View File

@ -1,5 +1,5 @@
(module frtime-lang-only "lang-utils.rkt"
(require frtime/lang-ext)
(require (only frtime/lang-ext undefined? signal? value-now lift))
(require (as-is:unchecked frtime/core/frp
event-set? signal-value))
@ -14,4 +14,4 @@
(provide value-nowable? behaviorof
(all-from "lang-utils.rkt")
(all-from-except frtime/lang-ext lift)))
(all-from-except frtime/lang-ext lift)))

View File

@ -1,18 +1,43 @@
(module lang-utils "lang-core.rkt"
(require (all-except mzscheme
(require (only mzscheme let define-syntax define apply procedure-arity syntax-object->datum with-input-from-file require-for-syntax make-namespace expand-path collection-path begin syntax-rules)
(all-except racket
else
module
begin
syntax-rules
#%app
#%top
#%datum
#%plain-module-begin
#%module-begin
#%top-interaction
λ
let
define
define-syntax
define-for-syntax
case
apply
if
lambda
case-lambda
chaperone-procedure
free-identifier=?
reverse
collection-path
collection-file-path
list-ref
require
collection-path
raise-arity-error
procedure-rename
impersonate-procedure
procedure-reduce-arity
procedure-arity
procedure->method
prop:procedure
regexp-replace*
provide
letrec
match
@ -25,20 +50,20 @@
vector-ref
define-struct
list
list*
list?
append
list*
list?
append
and
or
cond when unless
map ormap andmap assoc member)
map ormap andmap assoc member open-input-file open-output-file open-input-output-file call-with-output-file call-with-input-file with-output-to-file with-input-from-file)
(rename mzscheme mzscheme:if if)
(rename "lang-ext.rkt" lift lift)
(only frtime/core/frp super-lift behavior? value-now)
(rename "lang-ext.rkt" undefined undefined)
(rename "lang-ext.rkt" undefined undefined)
(rename "lang-ext.rkt" undefined? undefined?)
mzlib/class)
(require mzlib/list)
mzlib/class)
(require (only racket/list empty))
(define-syntax (lifted-send stx)
(syntax-case stx ()
@ -104,7 +129,7 @@
(or-undef exps ...)))]))
(define-syntax or-undef
(define-syntax or-undef
(syntax-rules ()
[(_) undefined]
[(_ exp) (let ([v exp]) (if v v undefined))]
@ -244,9 +269,9 @@
(define (frp:length lst)
(cond
[(pair? lst) (lift #t add1 (frp:length (cdr lst)))]
[(null? lst) 0]
[else (error 'length (format "expects list, given ~a" lst))]))
[(pair? lst) (lift #t add1 (frp:length (cdr lst)))]
[(null? lst) 0]
[else (error 'length (format "expects list, given ~a" lst))]))
(define (frp:list->string lst)
(lift #t list->string (raise-reactivity lst)))
@ -284,6 +309,8 @@
cddddr
build-path
collection-path
lifted-send
dont-optimize
list-ref
(rename frp:case case)
@ -363,7 +390,6 @@
current-directory
exit
system-type
lifted-send
unsyntax-splicing
delay
@ -375,7 +401,7 @@
with-input-from-file
read
dont-optimize
)