impc:ir:tuple?   scheme


Defined in:  https://github.com/digego/extempore/tree/v0.8.9/runtime/llvmir.xtm

Implementation

(define impc:ir:tuple?
  (lambda (type)
    (if (list? type)
        (if (< (length type) 2) #f
            (if (impc:ir:tuple? (car type)) #t #f))
        (let ((t (impc:ir:str-list-check type)))
          (if (symbol? t) #f ;; symbol will be poly type
              (if (string? t)
                  (impc:ti:namedtype-exists? (impc:ir:get-base-type t))
                  (if (= (modulo t *impc:ir:pointer*) *impc:ir:tuple*)
                      #t #f)))))))


Back to Index

Similar Entries