From 1adb0e290d3c35b6afb25ff81276ebe4b409c436 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 16 Apr 2020 19:05:19 -0400 Subject: [PATCH] Added 'foreign-code' macro --- libs/cyclone/foreign.sld | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/libs/cyclone/foreign.sld b/libs/cyclone/foreign.sld index c3ce25bb..12627bbb 100644 --- a/libs/cyclone/foreign.sld +++ b/libs/cyclone/foreign.sld @@ -13,7 +13,7 @@ ) ;(include-c-header "") (export - ;; TODO + foreign-code ) (begin ;; TODO: internal to compiler? Anything to define in this library?? @@ -49,6 +49,14 @@ ; ))))) -TODO: macros for foreign-value, foreign-code + (define-syntax foreign-code + (er-macro-transformer + (lambda (expr rename compare) + (for-each + (lambda (arg) + (if (not (string? arg)) + (error "foreign-code" "Invalid argument: string expected, received " arg))) + (cdr expr)) + `(Cyc-foreign-code ,@(cdr expr))))) ) )