1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
;; -*-theme-*-
;; Copyright (C) 2014, 2021 Tommi Höynälänmaa
;; Distributed under GNU Lesser General Public License version 3,
;; see file doc/LGPL-3.
(define-interface (examples list-as-sequence)
(import (standard-library core)
(examples sequence))
(define-param-class :list-as-sequence
(parameters %element)
(superclass (:sequence %element))
(construct ((contents1 (:uniform-list %element))))
(fields
(contents (:uniform-list %element) public hidden contents1)))
(declare-param-virtual-method sequence-ref
(%element)
((:list-as-sequence %element) <integer>)
%element
pure)
(declare-param-virtual-method sequence-length
(%element)
((:list-as-sequence %element))
<integer>
pure)
(declare-param-virtual-method sequence-map
(%source %target)
((:procedure (%source) %target pure)
(:list-as-sequence %source))
(:list-as-sequence %target)
pure))
|