chickadee » tuples » tuple-from-upto

tuple-from-upto tup #!rest intervalprocedure

function (result)

(tuple-from-upto tup . interval)

requires (and (%tuple tup)
              ((list-of? (lambda (x)
                           (and (cardinal? x)
                           (<= x (%tuple-length tup))))) interval)
              (<= (length interval) 2) (apply <= 0 interval))

ensures  (and (%tuple? result)
              (= (%tuple-length result)
                 (case (length interval)
									 ((0) (%tuple-length tup))
									 ((1) (- (%tuple-length tup) (car interval)))
									 ((2) (- (cadr interval) (car interval))))))