;; -*-theme-*-

;; Copyright (C) 2015, 2021  Tommi Höynälänmaa
;; Distributed under GNU Lesser General Public License version 3,
;; see file doc/LGPL-3.

(define-interface (examples sequence-list-impl)

  (import (standard-library core))

  (declare-static-virtual-method
   sequence-ref
   (:param-proc (%element)
		((:uniform-list %element) <integer>)
		%element pure))

  (declare-static-virtual-method
   sequence-length
   (:param-proc (%element)
		((:uniform-list %element))
		<integer> pure))

  (declare-static-virtual-method
   sequence-map
   (:param-proc (%element)
		((:procedure (%element) %element pure)
		 (:uniform-list %element))
		(:uniform-list %element)
		pure)))

