impc:ti:get-closure-arg-symbols   scheme


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

Implementation

;; expects t1 (i.e. original untransformed code)
(define impc:ti:get-closure-arg-symbols
  (lambda (closure-sym ast)
                                        ;(print 'ast: ast)
    (cond ((null? ast) '())
          ((atom? ast) '())
          ((vector? ast) '())
          ((and (pair? ast)
                (eq? (car ast) closure-sym))
           (if (and (not (null? (cdr ast)))
                    (list? (cadr ast))
                    (member (caadr ast) *impc:lambdaslist*))
               (cadr (cadr ast))
               '()))
          (else (append (impc:ti:get-closure-arg-symbols closure-sym (car ast))
                        (impc:ti:get-closure-arg-symbols closure-sym (cdr ast)))))))


Back to Index