Created
June 11, 2017 08:23
-
-
Save okuoku/f796f9133fd9c571a4eb6c56bd0fc7a9 to your computer and use it in GitHub Desktop.
Unsuccessfull make-coreops-fake on Gauche
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(define (make-coreops-fake) | |
(define-syntax define-query0 | |
(syntax-rules () | |
((_ q (sym0 sym1) ...) | |
(define (q symbol) | |
(case symbol | |
((sym0) sym1) | |
... | |
(else | |
(error "Unknown symbol" symbol))))))) | |
(define-syntax define-query1 | |
(syntax-rules () | |
((_ q (cur ...) (s1 s2 s3 ...)) | |
(define-query1 q (cur ... (s1 s2)) (s3 ...))) | |
((_ q (cur ...) ()) | |
(define-query0 q cur ...)))) | |
(define-syntax define-query | |
(syntax-rules () | |
((_ q . rest) | |
(define-query1 q () rest)))) | |
(define-query query | |
null fake-null | |
null? fake-null? | |
eof-object fake-eof-object | |
eof-object? fake-eof-object? | |
true fake-true | |
false fake-false | |
boolean? fake-boolean? | |
boolean=?/2 fake-boolean=?/2 | |
true? fake-true? | |
false? fake-false? | |
char? fake-char? | |
char=?/2 fake-char=?/2 | |
integer->char fake-integer->char | |
char->integer fake-char->integer | |
string? fake-string? | |
string-length fake-string-length | |
string-ref fake-string-ref | |
string-set! fake-string-set! | |
make-string0 fake-make-string0 | |
bytevector? fake-bytevector? | |
bytevector-length fake-bytevector-length | |
bytevector-u8-ref fake-bytevector-u8-ref | |
bytevector-u8-set! fake-bytevector-u8-set! | |
make-bytevector0 fake-make-bytevector0 | |
symbol? fake-symbol? | |
symbol=?/2 fake-symbol=?/2 | |
string->symbol fake-string->symbol | |
symbol->string fake-symbol->string | |
pair? fake-pair? | |
cons fake-cons | |
car fake-car | |
cdr fake-cdr | |
set-car! fake-set-car! | |
set-cdr! fake-set-cdr! | |
vector? fake-vector? | |
vector-length fake-vector-length | |
vector-ref fake-vector-ref | |
vector-set! fake-vector-set! | |
make-vector0 fake-make-vector0 | |
undefined fake-undefined | |
unspecified fake-unspecified | |
simple-struct? fake-simple-struct? | |
make-simple-struct fake-make-simple-struct | |
simple-struct-ref fake-simple-struct-ref | |
simple-struct-set! fake-simple-struct-set!) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment