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
|
;; -*-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 sequence)
(import (standard-library core))
(define-param-class :sequence
(parameters %element))
(declare-virtual-method sequence-ref
(:param-proc (%element)
((:sequence %element) <integer>)
%element
pure))
(declare-virtual-method sequence-length
(:param-proc (%element)
((:sequence %element))
<integer>
pure))
(declare-virtual-method sequence-map
(:param-proc (%source %target)
((:procedure (%source) %target pure)
(:sequence %source))
(:sequence %target)
pure)))
|