Macros

Another feature many modern programming languages have is macros. Macros are about transforming code at runtime. By now, you should be convinced that Red is already well equipped to do that with minimal effort; think about all you can do with do, reduce, and load. After all, code is data and data is code!  Because Red is first of all a compiled language, macros in Red are more oriented towards transforming code at compile time, but they work  equally well when interpreted. Here is an example of a macro to give you a taste:

;-- see Chapter10/macros.red:#macro as-KB: func [n][n * 1024]print as-KB 64 ;== 65536   

When the macro is expanded by the preprocessor, the code will result in print 65536. This example is a named macro, and it ...

Get Learn Red - Fundamentals of Red now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.