|
From: | Walter Lewis |
Subject: | Re: Breaking hygiene with syntax-rules? |
Date: | Fri, 11 Aug 2023 18:50:45 -0400 |
Sorry I typed that code offhand and it had some mistakes; should be: (use-modules (srfi srfi-9) (system foreign)) (define-syntax define-ffi-wrapper (syntax-rules () ((_ size name wrap unwrap predicate to-pointer from-pointer) (begin (define-record-type name (wrap bv pointer) predicate (bv unwrap) (pointer pointer-ref pointer-set!)) (define (to-pointer x) (or (pointer-ref x) (let ((pointer (bytevector->pointer x))) (pointer-set! x pointer) pointer))) (define (from-pointer pointer) (wrap (pointer->bytevector pointer size) pointer))))))
[Prev in Thread] | Current Thread | [Next in Thread] |