impc:ti:null?-check   scheme


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

Implementation

(define impc:ti:null?-check
  (lambda (ast vars kts request?)
    (let ((a (impc:ti:type-check (cadr ast) vars kts request?)))
      (if (or (null? a) ;; couldn't resolve yet!
              (and (pair? a)
                   (null? (car a))))
          (list *impc:ir:i1*)
          (if (if (not (impc:ir:type? a))
                  (impc:ir:pointer? (car a))
                  (impc:ir:pointer? a))
              (list *impc:ir:i1*)
              (impc:compiler:print-compiler-error "null must take a pointer type" ast))))))


Back to Index