@quote directive

The @quote(x) directive macro expands literally to x (i.e. without macro expanding x). This is useful when we want to disable macro expansion within some scope.

Before translationAfter translation
@def min(x,y) =
{
    @if(x < y) {x} @else {y}
}
const char* f()
{
    return @str(@quote(min(3,4)) = min(3,4));
}





const char* f()
{
    return "min(3,4) = 3";
}