[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 04/25] Write boilerplate for primitive types
From: |
KAction |
Subject: |
[PATCH 04/25] Write boilerplate for primitive types |
Date: |
Mon, 18 Jul 2016 18:17:27 +0300 |
From: Dmitry Bogatov <address@hidden>
* module/system/foreign/declarative.scm: for reason I do not
understand, `mirror-primitive-typeS' macro mangled foreign
type object name, so instead `int:' it defined something like
`int:_some_uniq_string'. So it was replaced with manual calls
to `mirror-primitive-type'.
---
module/system/foreign/declarative.scm | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/module/system/foreign/declarative.scm
b/module/system/foreign/declarative.scm
index b13bcf4..65a6497 100644
--- a/module/system/foreign/declarative.scm
+++ b/module/system/foreign/declarative.scm
@@ -71,9 +71,20 @@
(with-syntax
((ft (datum->syntax x (symbol-append (syntax->datum #'prim) ':))))
#'(mirror-primitive-type prim ft))))))
-(define-syntax-rule (mirror-primitive-types prim ...)
- (begin
- (mirror-primitive-type prim) ...))
-(mirror-primitive-types
- size_t int long ptrdiff_t int8 int16 int32 int64 uint8 uint16 uint32 uint64)
+
+(mirror-primitive-type void)
+(mirror-primitive-type size_t)
+(mirror-primitive-type int)
+(mirror-primitive-type long)
+(mirror-primitive-type ptrdiff_t)
+(mirror-primitive-type int8)
+(mirror-primitive-type int16)
+(mirror-primitive-type int32)
+(mirror-primitive-type int64)
+(mirror-primitive-type uint8)
+(mirror-primitive-type uint16)
+(mirror-primitive-type uint32)
+(mirror-primitive-type uint64)
+(mirror-primitive-type float)
+(mirror-primitive-type double)
(mirror-primitive-type '* *:)
--
I may be not subscribed. Please, keep me in carbon copy.
- Foreign-declarative module, KAction, 2016/07/18
- [PATCH 01/25] New module: system/foreign/declarative.scm, KAction, 2016/07/18
- [PATCH 02/25] Define <ffi-type> structure, KAction, 2016/07/18
- [PATCH 03/25] Mirror types from system/foreign as <foreign-type>, KAction, 2016/07/18
- [PATCH 04/25] Write boilerplate for primitive types,
KAction <=
- [PATCH 05/25] Fix bug in `default' macro, KAction, 2016/07/18
- [PATCH 06/25] Basic implementation of `define-foreign-function', KAction, 2016/07/18
- [PATCH 07/25] Introduce foreign-type predicates, KAction, 2016/07/18
- [PATCH 08/25] Add keywords for `define-foreign-function' macro, KAction, 2016/07/18
- [PATCH 10/25] Refactor type validation in `define-foreign-function', KAction, 2016/07/18
- [PATCH 09/25] system/foreign/declarative: rename `predicate' to `validate', KAction, 2016/07/18
- [PATCH 11/25] system/foreign/declarative: new macro, KAction, 2016/07/18
- [PATCH 13/25] system/foreign/declarative.scm: export string foreign type, KAction, 2016/07/18
- [PATCH 12/25] Improve deriving c symbol name from scheme one, KAction, 2016/07/18
- [PATCH 14/25] foreign/declarative: mirror more primitive types, KAction, 2016/07/18