31 lines
744 B
Scheme
31 lines
744 B
Scheme
#lang scheme/base
|
|
|
|
#;(require "private/prims.ss")
|
|
(provide (all-from-out scheme/base)
|
|
(all-defined-out)
|
|
#;(all-from-out "private/prims.ss"))
|
|
|
|
(define-syntax-rule (define-type-alias . _) (begin))
|
|
|
|
(define-syntax-rule (define: nm _ _ . body)
|
|
(define nm . body))
|
|
|
|
(define-syntax-rule (ann e . rest) e)
|
|
|
|
(define-syntax-rule (require/typed mod [id . _] ...)
|
|
(require (only-in mod id ...)))
|
|
|
|
(define-syntax-rule (: . args) (begin))
|
|
|
|
(define-syntax let:
|
|
(syntax-rules ()
|
|
[(_ ([id _ _ . rest] ...) . b)
|
|
(let ([id . rest] ...) . b)]
|
|
[(_ id _ _ ([ids _ _ e] ...) . b)
|
|
(let id ([ids e] ...) . b)]))
|
|
|
|
(define-syntax-rule (lambda: ([id . rest] ...) . b)
|
|
(lambda (id ...) . b))
|
|
|
|
(define-syntax-rule (λ: . arg) (lambda: . arg))
|