sunterlib/s48/sequences/packages.scm

50 lines
1.8 KiB
Scheme

; Copyright (c) 2003 RT Happe <rthappe at web de>
; See the file COPYING distributed with the Scheme Untergrund Library
;;; refers to structure KRIMS from sunterlib/s48/krims
;; sequences as data + behaviour
(define-structure behaved-sequences behaved-sequences-face
(open srfi-9 ; define-record-type
scheme)
(files uniseqs))
;; some sequence operations tuned for lists
(define-structure sequence-specifics sequence-specifics-face
(open srfi-1 ; drop first take make-list pair-for-each
scheme)
(files specseqs))
;; basic sequence accessors etc.
(define-structure sequence-basics sequence-basics-face
(open krims ; gen-dispatch
let-opt ; :optional
sequence-specifics ; list-set! make-list
behaved-sequences
byte-vectors
srfi-23 ; error
scheme)
(files baseqs))
;; sequence operations defined in terms of the basic protocol
(define-structure sequence-extras sequence-extras-face
(open sequence-basics
krims ; assert
scheme)
(files genseqs))
;; elementary and other general sequence operations, typically dispatching
;; early on the sequence type in order to make use of built-ins or special
;; code (notably for lists)
(define-structure sequence-lib (compound-interface sequence-basics-face
sequence-extras-face
behaved-sequences-face)
(open krims ; gen-dispatch
(with-prefix sequence-extras contiguous-)
sequence-basics
behaved-sequences
sequence-specifics
byte-vectors
scheme)
(files composeqs))