make_static_scheme_wrapper_ir   scheme


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

Implementation

(define make_static_scheme_wrapper_ir
  (lambda (symname-string closure-type)
    (let* ((stub-type (impc:ir:get-closure-type-from-str closure-type))
           (scheme-stub-valid? #t)
          (closure-type-- (impc:ir:get-type-str (impc:ir:pointer-- (impc:ir:get-type-from-str closure-type))))
          (ir (string-append "define dllexport ccc i8* "
          " @" (string-append symname-string "_scheme(i8* %_sc, i8* %args) nounwind\n"
          "{\nentry:\n"
          (apply string-append
                  (map (lambda (t n idx)
                        (string-append n "_val = call ccc i8* @list_ref(i8* %_sc, i32 " (number->string idx) ",i8* %args)\n"
                                        (cond ((and (not (number? t))
                                                    (not (impc:ir:pointer? t)))
                                              (set! scheme-stub-valid? #f)
                                              "")
                                              ((or (not (number? t))
                                                  (not (or (impc:ir:number? t)
                                                            (impc:ir:void? t))))
                                              (if (and (number? t)
                                                        (= t (+ *impc:ir:pointer* *impc:ir:si8*)))
                                                  (string-append n "_rt_check = call i32 @is_cptr_or_str(i8* " n "_val)\n"
                                                                  (impc:ti:scm_rt_check_string n symname-string)
                                                                  n " = call ccc i8*  @cptr_value(i8* " n "_val)\n")
                                                  (string-append n "_rt_check = call i32 @is_cptr(i8* " n "_val)\n"
                                                                  (impc:ti:scm_rt_check_string n symname-string)
                                                                  "%ttv_" (number->string idx) " = call ccc i8* @cptr_value(i8* " n "_val)\n"
                                                                  n " = bitcast i8* %ttv_" (number->string idx) " to " (impc:ir:get-type-str t) "\n")))
                                              ((= t *impc:ir:fp64*) (string-append n "_rt_check = call i32 @is_real(i8* " n "_val)\n"
                                                                                  (impc:ti:scm_rt_check_string n symname-string)
                                                                                  n " = call ccc double @r64value(i8* " n "_val)\n"))
                                              ((= t *impc:ir:fp32*) (string-append n "_rt_check = call i32 @is_real(i8* " n "_val)\n"
                                                                                  (impc:ti:scm_rt_check_string n symname-string)
                                                                                  n " = call ccc float  @r32value(i8* " n "_val)\n"))
                                              ((= t *impc:ir:si64*) (string-append n "_rt_check = call i32 @is_integer(i8* " n "_val)\n"
                                                                                  (impc:ti:scm_rt_check_string n symname-string)
                                                                                  n " = call ccc i64  @i64value(i8* " n "_val)\n"))
                                              ((= t *impc:ir:ui64*) (string-append n "_rt_check = call i32 @is_integer(i8* " n "_val)\n"
                                                                                  (impc:ti:scm_rt_check_string n symname-string)
                                                                                  n " = call ccc i64  @i64value(i8* " n "_val)\n"))
                                              ((= t *impc:ir:si32*) (string-append n "_rt_check = call i32 @is_integer(i8* " n "_val)\n"
                                                                                  (impc:ti:scm_rt_check_string n symname-string)
                                                                                  n " = call ccc i32  @i32value(i8* " n "_val)\n"))
                                              ((= t *impc:ir:ui32*) (string-append n "_rt_check = call i32 @is_integer(i8* " n "_val)\n"
                                                                                  (impc:ti:scm_rt_check_string n symname-string)
                                                                                  n " = call ccc i32  @i32value(i8* " n "_val)\n"))
                                              ((= t *impc:ir:si16*) (string-append n "_rt_check = call i32 @is_integer(i8* " n "_val)\n"
                                                                                  (impc:ti:scm_rt_check_string n symname-string)
                                                                                  n " = call ccc i16  @i16value(i8* " n "_val)\n"))
                                              ((= t *impc:ir:ui16*) (string-append n "_rt_check = call i32 @is_integer(i8* " n "_val)\n"
                                                                                  (impc:ti:scm_rt_check_string n symname-string)
                                                                                  n " = call ccc i16  @i16value(i8* " n "_val)\n"))
                                              ((= t *impc:ir:si8*) (string-append n "_rt_check = call i32 @is_integer(i8* " n "_val)\n"
                                                                                  (impc:ti:scm_rt_check_string n symname-string)
                                                                                  n " = call ccc i8  @i8value(i8* " n "_val)\n"))
                                              ((= t *impc:ir:ui8*) (string-append n "_rt_check = call i32 @is_integer(i8* " n "_val)\n"
                                                                                  (impc:ti:scm_rt_check_string n symname-string)
                                                                                  n " = call ccc i8  @i8value(i8* " n "_val)\n"))
                                              ((= t *impc:ir:i1*) (string-append n "_rt_check = call i32 @is_integer(i8* " n "_val)\n"
                                                                                (impc:ti:scm_rt_check_string n symname-string)
                                                                                n " = call ccc i1  @i1value(i8* " n "_val)\n"))
                                              ((= t *impc:ir:char*) (string-append n "_rt_check = call i32 @is_string(i8* " n "_val)\n"
                                                                                  (impc:ti:scm_rt_check_string n symname-string)
                                                                                  n " = call ccc i8*  @string_value(i8* " n "_val)\n"))
                                              (else (impc:compiler:print-compiler-error "bad type in scheme stub")))))
                      (cdr stub-type)
                      (make-list-with-proc (length (cdr stub-type))
                                            (lambda (i) (string-append "%arg_" (atom->string i))))
                      (make-list-with-proc (length (cdr stub-type)) (lambda (i) i))))
          (if (impc:ir:void? (car stub-type)) "" "%result = ")
              "call ccc " (impc:ir:get-type-str (car stub-type)) " @" symname-string "(" ;; " %ff("


Back to Index

Similar Entries

  • CV_MAKE_TYPE    xtlang
  • Circle    xtlang
  • Circle    xtlang
  • Windows-add-libdir-to-PATH    scheme
  • aiProcess_MakeLeftHanded    scheme
  • bind-static    macro
  • bind-wrapper    macro
  • cairo-animation    scheme
  • cairo_draw_image    xtlang
  • circle_line    xtlang
  • circle_whole    xtlang
  • cl:make-list    scheme
  • cpBBNewForCircle    xtlang
  • cvMakeColour    xtlang
  • define-static    macro
  • draw_a_circle    xtlang
  • draw_a_circle    xtlang
  • factorize-scheme    scheme
  • fill_direction_vector    xtlang
  • fill_direction_vector    xtlang
  • fill_view_matrix_dir    xtlang
  • fill_view_matrix_dir    xtlang
  • fir_half_80211    xtlang
  • first    xtlang
  • first    xtlang
  • first    xtlang
  • first_n_weird_numbers    xtlang
  • fluid-cube-get-first-column    xtlang
  • fluid-cube-get-first-row    xtlang
  • fluid-cube-set-first-column    xtlang
  • fluid-cube-set-first-row    xtlang
  • glfw_make_context_current    xtlang
  • glwrapper-arg-list-symbols    scheme
  • glwrapper-arg-list-symbols    scheme
  • gui_draw_circle    xtlang
  • impc:aot:insert-static-binding-details    scheme
  • impc:compiler:print-no-scheme-stub-notification    scheme
  • impc:compiler:queue-ir-for-compilation    scheme
  • impc:ir:array?    scheme
  • impc:ir:boolean?    scheme
  • impc:ir:check-type-size-calculations    scheme
  • impc:ir:clean-named-type    scheme
  • impc:ir:closure?    scheme
  • impc:ir:compile:apply-closure    scheme
  • impc:ir:compile:create_zone    scheme
  • impc:ir:compile:eval-gvar    scheme
  • impc:ir:compile:eval-var    scheme
  • impc:ir:compile:make-closure    scheme
  • impc:ir:compile:make-closureenv    scheme
  • impc:ir:compile:make-env    scheme
  • impc:ir:compile:make-static    scheme
  • impc:ir:compile:pop_zone    scheme
  • impc:ir:compile:push_new_zone    scheme
  • impc:ir:compile:push_zone    scheme
  • impc:ir:compiler:array-ref    scheme
  • impc:ir:compiler:array-ref-ptr    scheme
  • impc:ir:compiler:array-set    scheme
  • impc:ir:compiler:bitcast    scheme
  • impc:ir:compiler:bitconvert    scheme
  • impc:ir:compiler:bitwise    scheme
  • impc:ir:compiler:callback    scheme
  • impc:ir:compiler:closure-from-getter    scheme
  • impc:ir:compiler:closure-ref    scheme
  • impc:ir:compiler:closure-ref    scheme
  • impc:ir:compiler:closure-refcheck    scheme
  • impc:ir:compiler:closure-set    scheme
  • impc:ir:compiler:closure-set    scheme
  • impc:ir:compiler:cmp    scheme
  • impc:ir:compiler:fptrcall    scheme
  • impc:ir:compiler:heap-alloc    scheme
  • impc:ir:compiler:heap-alloc-with-size    scheme
  • impc:ir:compiler:heap-alloc-without-size    scheme
  • impc:ir:compiler:if    scheme
  • impc:ir:compiler:ifret    scheme
  • impc:ir:compiler:llvm_varargs    scheme
  • impc:ir:compiler:loop    scheme
  • impc:ir:compiler:loop    scheme
  • impc:ir:compiler:make-array    scheme
  • impc:ir:compiler:make-tuple    scheme
  • impc:ir:compiler:make-vector    scheme
  • impc:ir:compiler:math    scheme
  • impc:ir:compiler:math-intrinsics    scheme
  • impc:ir:compiler:modulo    scheme
  • impc:ir:compiler:native-call    scheme
  • impc:ir:compiler:null    scheme
  • impc:ir:compiler:num-of-elts    scheme
  • impc:ir:compiler:obj-size    scheme
  • impc:ir:compiler:pdref    scheme
  • impc:ir:compiler:pointer-ref    scheme
  • impc:ir:compiler:pointer-ref-ptr    scheme
  • impc:ir:compiler:pointer-set    scheme
  • impc:ir:compiler:pref    scheme
  • impc:ir:compiler:ref    scheme
  • impc:ir:compiler:ret    scheme
  • impc:ir:compiler:set!    scheme
  • impc:ir:compiler:stack-alloc    scheme
  • impc:ir:compiler:stack-alloc-with-size    scheme
  • impc:ir:compiler:stack-alloc-without-size    scheme
  • impc:ir:compiler:tuple-ref    scheme
  • impc:ir:compiler:tuple-ref-ptr    scheme
  • impc:ir:compiler:tuple-set    scheme
  • impc:ir:compiler:vector-ref    scheme
  • impc:ir:compiler:vector-set    scheme
  • impc:ir:compiler:vector-shuffle    scheme
  • impc:ir:compiler:void    scheme
  • impc:ir:compiler:while-loop    scheme
  • impc:ir:compiler:zone-alloc    scheme
  • impc:ir:compiler:zone-alloc-with-size    scheme
  • impc:ir:compiler:zone-alloc-without-size    scheme
  • impc:ir:complex-type?    scheme
  • impc:ir:convert-from-pretty-types    scheme
  • impc:ir:convert-types    scheme
  • impc:ir:fixed-point?    scheme
  • impc:ir:floating-point?    scheme
  • impc:ir:function-calling-convention    scheme
  • impc:ir:function-fixup-args    scheme
  • impc:ir:gcnt    scheme
  • impc:ir:genericfunc-match-closure-types    scheme
  • impc:ir:genericfunc-match-tuple-types    scheme
  • impc:ir:genericfunc-stringify-generic-arg-strings    scheme
  • impc:ir:genericfunc-type-setup    scheme
  • impc:ir:get-alignment    scheme
  • impc:ir:get-arity-from-pretty-closure    scheme
  • impc:ir:get-array-type-from-str    scheme
  • impc:ir:get-base-type    scheme
  • impc:ir:get-base-type-g    scheme
  • impc:ir:get-closure-type-from-str    scheme
  • impc:ir:get-function-type-from-str    scheme
  • impc:ir:get-generic-tuple-typevars    scheme
  • impc:ir:get-pretty-closure-arg-strings    scheme
  • impc:ir:get-pretty-tuple-arg-strings    scheme
  • impc:ir:get-ptr-depth    scheme
  • impc:ir:get-tuple-type-from-str    scheme
  • impc:ir:get-tuple-type-size    scheme
  • impc:ir:get-type-expand-poly    scheme
  • impc:ir:get-type-from-pretty-array    scheme
  • impc:ir:get-type-from-pretty-closure    scheme
  • impc:ir:get-type-from-pretty-str    scheme
  • impc:ir:get-type-from-pretty-str-rec    scheme
  • impc:ir:get-type-from-pretty-tuple    scheme
  • impc:ir:get-type-from-pretty-vector    scheme
  • impc:ir:get-type-from-str    scheme
  • impc:ir:get-type-joiner    scheme
  • impc:ir:get-type-size    scheme
  • impc:ir:get-type-str    scheme
  • impc:ir:get-vector-type-from-str    scheme
  • impc:ir:gname    scheme
  • impc:ir:intrinsic-substitution    scheme
  • impc:ir:make-arglist-str    scheme
  • impc:ir:make-const-string    scheme
  • impc:ir:make-function-str    scheme
  • impc:ir:make-string    scheme
  • impc:ir:make-struct-str    scheme
  • impc:ir:make-struct-str-env    scheme
  • impc:ir:number?    scheme
  • impc:ir:objectsize-intrinsic    scheme
  • impc:ir:other?    scheme
  • impc:ir:pointer++    scheme
  • impc:ir:pointer--    scheme
  • impc:ir:pointer?    scheme
  • impc:ir:poly-or-adhoc?    scheme
  • impc:ir:pptype    scheme
  • impc:ir:pretty-print-type    scheme
  • impc:ir:regex-structs-or-atoms    scheme
  • impc:ir:regex-tc-or-a    scheme
  • impc:ir:scalar?    scheme
  • impc:ir:signed?    scheme
  • impc:ir:split-and-decode-poly-adhoc-name    scheme
  • impc:ir:str-list-check    scheme
  • impc:ir:strip-space    scheme
  • impc:ir:tuple?    scheme
  • impc:ir:type?    scheme
  • impc:ir:types-equal?    scheme
  • impc:ir:vector?    scheme
  • impc:ir:void?    scheme
  • impc:ti:adhoc-scheme-wrapper    scheme
  • impc:ti:closure-in-first-position    scheme
  • impc:ti:create-scheme-wrapper    scheme
  • impc:ti:create-scm-wrapper?    scheme
  • impc:ti:first-transform    scheme
  • impc:ti:make-array-check    scheme
  • impc:ti:make-tuple-check    scheme
  • impc:ti:make-vector-check    scheme
  • impc:ti:nativef-generics-make-gtypes-unique    scheme
  • impc:ti:variable-substitution-pairs    scheme
  • last-pair    scheme
  • llvm:compile-ir    scheme
  • llvm:compile-ir-and-print    scheme
  • llvm:ir    macro
  • make-bezier    scheme
  • make-envelope    xtlang
  • make-environment    macro
  • make-instrument    macro
  • make-list    scheme
  • make-list-with-proc    scheme
  • make-metre    scheme
  • make-metro    scheme
  • make-rhythm    scheme
  • make-timeline    scheme
  • make-vector-with-proc    scheme
  • make_bodies    xtlang
  • make_instrument    xtlang
  • make_instrument    xtlang
  • make_mono    xtlang
  • make_window_transparent    xtlang
  • match-pair    scheme
  • match-result:make    scheme
  • matcher:make    scheme
  • my-inc-maker    xtlang
  • my-inc-maker-wrapper    xtlang
  • ocv_scheme_isopen_object    xtlang
  • ocv_scheme_release_object    xtlang
  • ocv_scheme_release_window    xtlang
  • on_register_custom_schemes    xtlang
  • p:pair    scheme
  • pairs_test    xtlang
  • pc:make-chord    scheme
  • pc:make-chord-fixed    scheme
  • plet-make-bindings    scheme
  • qtrir    macro
  • remove-first    scheme
  • replace-first    scheme
  • return_ptr_gv_first_with_docstring    xtlang
  • scheme-midi-listener    scheme
  • send-fluid-first-column-osc    xtlang
  • send-fluid-first-row-osc    xtlang
  • set_cairo_source_with_colour    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • static    xtlang
  • sys_dir_make    xtlang
  • sys_dir_make_recursive    xtlang
  • sys_dir_remove    xtlang
  • sys_g_chdir    xtlang
  • sys_g_get_current_dir    xtlang
  • sys_g_get_home_dir    xtlang
  • sys_g_mkdir    xtlang
  • sys_temp_dir_get    xtlang
  • trir    macro
  • win32_list_dir    xtlang
  • xtm_add_circle    xtlang
  • xtm_add_circle    xtlang
  • xtm_draw_circle_fill    xtlang
  • xtm_draw_circle_fill    xtlang
  • xtm_draw_circle_fill    xtlang
  • xtm_draw_circle_fill    xtlang
  • xtm_draw_circle_stroke    xtlang
  • xtm_draw_circle_stroke    xtlang
  • xtm_draw_circle_stroke    xtlang
  • xtm_draw_circle_stroke    xtlang
  • xtm_make_model    xtlang
  • xtmdoc-scheme-function-handler    scheme
  • xtmdoc-scheme-macro-handler    scheme