dummy-interface.scm 972 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. ; Part of Scheme 48 1.9. See file COPYING for notices and license.
  2. ; Authors: Richard Kelsey, Jonathan Rees
  3. ; Interfaces are ignored. Only dependencies are significant.
  4. (define (make-indirect-interface name thunk)
  5. (thunk))
  6. (define (make-simple-interface name items)
  7. (cons 'export items))
  8. (define (make-compound-interface name . sigs)
  9. (cons 'compound-interface sigs))
  10. ; Types
  11. (define :value ':value)
  12. (define :syntax ':syntax)
  13. (define :structure ':structure)
  14. (define :procedure ':procedure)
  15. (define :number ':number)
  16. (define :type ':type)
  17. (define-syntax proc
  18. (lambda (e r c) ''proc-lossage))
  19. (define-syntax interface-of
  20. (lambda (e r c) ''interface-of-lossage))
  21. (define (note-reference-to-interface! int thing)
  22. 'int-lossage)
  23. (define (interface-name int)
  24. 'int-lossage)
  25. (define (interface? int)
  26. (and (pair? int)
  27. (or (eq? 'export (car int))
  28. (eq? 'compound-interface (car int)))))
  29. (define (note-interface-name! int name)
  30. 'int-lossage)