Category: Domain-specific languages

Yet another Maybe monad for Java

A better one of course – based on cglib’s Enhancer functionality. I wanted to extract some optional elements from an XML file and (if present) assign their contents to fields of my class. In the beginning I started by using try-catch but it soon became unmanageable (and painful to look […]

New macros system for C/C++

Now probably is a good time to start mentioning my own macros system for C/C++. I’ve already written a bit about it in my first post of the cycle. The codename for the project is RMPP, which stands for Real Macro Preprocessor (for C/C++). Why did I call it that? […]

Macros in Nemerle

Except obvious general differences, Nemerle is quite similar to MetaLua in its approach to macros. It allows equivalents of -{ … } and +{ … } blocks just like MetaLua does. Said equivalents are and $(…), although they don’t work exactly the same. is the quotation block, i.e. it generates […]

Macros and syntax extensions in MetaLua

When it comes to macros there are at least two ways they can be implemented. The C/C++ way, which is a text processing approach or Lisp/Nemerle/MetaLua and others way in which macros are a natural property or an extension of the core parser itself. The former is significantly simpler to […]

Macros, Syntax Extensions and Domain-Specific Languages

I’d like to write a series of articles on the topic of macros in modern programming languages, language syntax extensions and domain-specific languages. After discussing some of the existing projects like Common Lisp, Scheme, Nemerle and MetaLUA I would like to present you with my solution for C++ syntax extending […]