[erlang-questions] For your amusement--why doesn't this compile?

José Valim <>
Mon Jan 30 17:00:21 CET 2017


My bet is that the parse transform fails before a warning/error is emitted
for the bad -define declaration.

I am not sure there is much it could do, given the parse_transform itself
could rewrite -define(Foo) to mean something else, disappearing with the
error in the first place.

*José Valim*
www.plataformatec.com.br
Skype: jv.ptec
Founder and Director of R&D

On Mon, Jan 30, 2017 at 4:50 PM, Alex S. <> wrote:

> It’s considered an unknown module attribute, and those aren’t errors.
>
> 30 янв. 2017 г., в 18:38,  написал(а):
>
> So why isn’t that reported as an error?
>
> John
>
> *From:* Alex S. <>
> *Sent:* Monday, January 30, 2017 4:31 PM
> *To:* 
> *Cc:* 
> *Subject:* Re: [erlang-questions] For your amusement--why doesn't this
> compile?
>
>
>
> 30 янв. 2017 г., в 18:24, <> <>
> написал(а):
>
> Here’s a behaviour that’s had me tearing my hair today. Consider this
> module:
>
> -module('Aaargh!!').
> -define(PLEASE_DONT).
> -ifndef(PLEASE_DONT).
> -compile({parse_transform,undefined_parse_transform}).
> -endif.
>
> It fails to compile, with one simple error message:
>
> 20> c('Aaargh!!').
> Aaargh!!.erl: undefined parse transform 'undefined_parse_transform'
> error
>
> If you can see why, you’re more an Erlang wizard than I am!
>
>
> Easy enough, there’s no one-argument define().
>
> Define it to true if you don’t care about the value.
>
>
>
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20170130/2799e16e/attachment.html>


More information about the erlang-questions mailing list