Re: [Chicken-users] [Q] Macro for defining function from string
I'm doing that fort of thing here: https://github.com/kristianlm/chicken-minissh/blob/master/minissh-parsing.scm#L5-L11 Here's another example, perhaps easier to follow: (import-for-syntax (only (chicken string) conc)) (define-syntax syntax-conc (er-macro-transformer (lambda (x r t) (string->symbol (apply conc (intersperse (cdr x) '-)) (expand '(syntax-conc "a" "b" "c")) ;; ==> a-b-c I would recommend using syntax-rules whenever possible, and only using er-macro-transformer when you have to. So, your syntax-rules could expand to syntax-conc. K. ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] [Q] Macro for defining function from string
On Fri, Apr 05, 2019 at 06:42:43PM +0900, Sungjin Chun wrote: > Hi, > In writing FFI module for C library there’s too much repetition; so I’d like > to write some > macro to reduce this repetition. > > What I’d like to write is something as follows: (define-my-bindings …) > > (define-my-bindinngs “Float”) should emit following code. > > (define float-xxx-xxx (foreign-lambda float (string-append “TH” “Float” > “Storage_xxx”)) > > What I cannot do now is generating float-xxx-xxx like function id from > “float-xxx-xxx” string. > > How can I convert string to the id? Try string->symbol: http://api.call-cc.org/5/doc/scheme/string-%3Esymbol also documented here: http://wiki.call-cc.org/man/5/Module%20scheme#symbols Cheers, Peter signature.asc Description: PGP signature ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] [Q] Macro for defining function from string
Hi, In writing FFI module for C library there’s too much repetition; so I’d like to write some macro to reduce this repetition. What I’d like to write is something as follows: (define-my-bindings …) (define-my-bindinngs “Float”) should emit following code. (define float-xxx-xxx (foreign-lambda float (string-append “TH” “Float” “Storage_xxx”)) What I cannot do now is generating float-xxx-xxx like function id from “float-xxx-xxx” string. How can I convert string to the id? Thanks in advance. ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users