[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 09/25] system/foreign/declarative: rename `predicate' to `validat
From: |
KAction |
Subject: |
[PATCH 09/25] system/foreign/declarative: rename `predicate' to `validate' |
Date: |
Mon, 18 Jul 2016 18:17:32 +0300 |
From: Dmitry Bogatov <address@hidden>
With this renaming validation function is allowed to throw
excection by itself to more accurately describe violated
assumption.
By convention, predicates never throws.
---
module/system/foreign/declarative.scm | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/module/system/foreign/declarative.scm
b/module/system/foreign/declarative.scm
index 4177bf7..5a5d688 100644
--- a/module/system/foreign/declarative.scm
+++ b/module/system/foreign/declarative.scm
@@ -28,7 +28,7 @@
encode-proc
decode-proc
type
- predicate-proc
+ validate-proc
clone-proc
free-proc)
foreign-type?
@@ -36,7 +36,7 @@
(encode-proc ft-encode-proc)
(decode-proc ft-decode-proc)
(type ft-type)
- (predicate-proc ft-predicate-proc)
+ (validate-proc ft-validate-proc)
(clone-proc ft-clone-proc)
(free-proc ft-free-proc))
@@ -49,7 +49,7 @@
encode-proc
decode-proc
(type '*)
- (predicate-proc (lambda (x) #t))
+ (validate-proc (lambda (x) #t))
clone-proc
free-proc)
(define-syntax-rule (default <arg> <def>)
@@ -68,7 +68,7 @@
encode-proc
decode-proc
type
- predicate-proc
+ validate-proc
clone-proc
free-proc))
@@ -81,7 +81,7 @@
((_ prim <?> pred)
(with-syntax
((ft (datum->syntax x (symbol-append (syntax->datum #'prim) ':))))
- #'(mirror-primitive-type prim ft #:predicate-proc pred)))
+ #'(mirror-primitive-type prim ft #:validate-proc pred)))
((_ prim ft rest* ...)
#'(define-foreign-type ft
#:encode-proc (lambda (x) x)
@@ -106,7 +106,7 @@
(mirror-primitive-type uint64 <?> integer?)
(mirror-primitive-type float <?> real?)
(mirror-primitive-type double <?> real?)
-(mirror-primitive-type '* *: #:predicate-proc pointer?)
+(mirror-primitive-type '* *: #:validate-proc pointer?)
(define-record-type <foreign-argument>
(%make-foreign-argument type)
@@ -151,13 +151,13 @@
(map %make-foreign-argument (list type ...))))
(frontend-function
(lambda (arg-name ...)
- (let ((predicate? (ft-predicate-proc type)))
- (unless (predicate? arg-name)
+ (let ((validate (ft-validate-proc type)))
+ (unless (validate arg-name)
(throw
'wrong-type-arg
'function-name
- "Wrong type argument named `~A' (failed to satisfy
predicate `~A'): ~S"
- (list 'arg-name (procedure-name predicate?) arg-name)
+ "Wrong type argument named `~A' (failed to satisfy
validator `~A'): ~S"
+ (list 'arg-name (procedure-name validate) arg-name)
(list arg-name))))
...
(backend-function arg-name ...))))
--
I may be not subscribed. Please, keep me in carbon copy.
- [PATCH 02/25] Define <ffi-type> structure, (continued)
- [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, 2016/07/18
- [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 <=
- [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
- [PATCH 15/25] New macro: with-pointer, KAction, 2016/07/18
- [PATCH 16/25] Configure emacs file-local indention, KAction, 2016/07/18
- [PATCH 17/25] system/foreign/declarative: unexport internal macro, KAction, 2016/07/18
- [PATCH 18/25] write documentation for (system foreign declarative), KAction, 2016/07/18