From f9941759ada5c2a87c0544abcfeec8e58592e5ea Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Wed, 5 Apr 2017 19:00:51 -0400 Subject: [PATCH] Temporary test file --- define-c-testing.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 define-c-testing.scm diff --git a/define-c-testing.scm b/define-c-testing.scm new file mode 100644 index 00000000..5cf9414c --- /dev/null +++ b/define-c-testing.scm @@ -0,0 +1,24 @@ +;; a temporary file to test define-c helper syntax +(import (scheme base) (scheme write)) + +(define-syntax + define-c:inline + (er-macro-transformer + (lambda (expr rename compare) + (let ((fnc (car expr)) + (args "object z") ;; TODO: get from expr + (inline-body "TODO")) + `(define-c ,fnc + ,(string-append + "(void *data, int argc, closure _, object k, " + args + ")") + ,(string-append + "(void *data, object ptr, " + args + ")")))))) +; (define-c truncate +; "(void *data, int argc, closure _, object k, object z)" +; " return_exact_double_op(data, k, (int), z); " +; "(void *data, object ptr, object z)" +; " return_exact_double_op_no_cps(data, ptr, (int), z);")