impc:ti:multicref   scheme


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

Implementation

(define (impc:ti:multicref args)
  `(let ,(append (map (lambda (a b n)
                        (list (string->symbol (string-append "f" (number->string n) ":[void]*"))
                              (list (string->symbol
                                     (string-append
                                      (if (= n 0)
                                          (symbol->string a)
                                          (string-append "f" (number->string (- n 1))))
                                      "." (symbol->string b))))))
                      (reverse (cdddr (reverse args)))
                      (cdr (reverse (cdr (reverse args))))
                      (range (length (cddr args))))
                 (list (list (string->symbol (string-append "v:" (symbol->string (car (reverse args)))))
                             (list (string->symbol (string-append "f" (number->string (length (cddddr args))) "."
                                                                  (symbol->string (cadr (reverse args)))))))))
         v))


Back to Index