ikarus/src/tests.libraries.ss

54 lines
813 B
Scheme

(library (F)
(export f)
(import (ikarus))
(define f
(lambda (x) 12))
(printf "F invoked\n"))
(library (G)
(export)
(import (ikarus) (F))
(define-syntax t f)
(printf "G invoked: f=~s\n" t))
(library (Q)
(export foo)
(import (ikarus))
(define-record foo (bar baz)))
(library (R)
(export)
(import (ikarus) (Q))
(printf "RTD=~s\n" (type-descriptor foo)))
(invoke (R))
(library (F0)
(export f)
(import (ikarus))
(define g 17)
(define-syntax f
(lambda (x) #'h))
(define-syntax h
(lambda (x) #'g))
(printf "F0 invoked\n"))
;(library (F0 client)
; (export)
; (import (ikarus) (F0))
; (unless (= (f) 17)
; (error #f "F0 client"))
; (printf "F0 client ok\n"))
(library (F0 client)
(export)
(import (ikarus) (F0))
(f))
(invoke (F0 client))