The ck-macros egg version 0.2.0 has been released. This version adds CHICKEN 5 support, many new features, some R5RS compatibility fixes, and a few breaking changes to the API.
https://wiki.call-cc.org/eggref/5/ck-macros ck-macros is based on work by Oleg Kiselyov, with many original contributions by me. It provides a novel kind of macro (or, a novel way of using macros) with two important properties: 1. Aside from wrappers, they are implemented using only standard R5RS features, mostly syntax-rules. So they are trivially portable to pretty much any Scheme, not just CHICKEN. And wrappers are trivially portable to any Scheme that implements er-macro-transformer in the usual way. 2. They can be composed (combined) much like Scheme procedures can. It is even possible to create higher-order macros, analogous to higher-order functions. For example, you can use "c-compose" to compose multiple CK-macros together, then use "c-map1" to map the composed macro over a list. There are many, many examples on the wiki page. The biggest new feature in version 0.2.0 is the "ck-wrapper" procedure, which creates a CK-macro from any Scheme procedure, including lambda forms and "let over lambda" closures. The egg provides wrappers for many standard R5RS procedures, and it's trivial to create your own. If this sounds useful to you, wonderful. Personally, I just enjoy exploring the boundaries of what is possible with this idea -- already much more than I expected! - John Croisant P.S. Please add this to the CHICKEN 5 coop: https://gitlab.com/jcroisant/ck-macros/raw/master/ck-macros.chicken-5.release-info _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users