<HTML><HEAD></HEAD>
<BODY dir=ltr>
<DIV dir=ltr>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri'; COLOR: #000000">
<DIV>I think you’re right—this is our current hypothesis. I do think it would be
kinder to complain about the –define, in the case where the parse transform
fails... since it’s the error in the define which CAUSES the parse transform to
fail! Maybe a failing parse_transform could be treated as an identity function
as far as other errors are concerned... although, of course, there could be a
LOT of other errors caused by the parse transform failing to run!</DIV>
<DIV> </DIV>
<DIV>Damned if you do, damned if you don’t!</DIV>
<DIV> </DIV>
<DIV>Thanks for joining in the fun <IMG class="wlEmoticon wlEmoticon-smile"
style="BORDER-TOP-STYLE: none; BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none"
alt=Smile src="cid:C767FF5263034993AB70E4ADE5478718@JohnsTablet2014"></DIV>
<DIV> </DIV>
<DIV>John</DIV>
<DIV
style='FONT-SIZE: small; TEXT-DECORATION: none; FONT-FAMILY: "Calibri"; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal; DISPLAY: inline'>
<DIV style="FONT: 10pt tahoma">
<DIV> </DIV>
<DIV style="BACKGROUND: #f5f5f5">
<DIV style="font-color: black"><B>From:</B> <A
title=jose.valim@plataformatec.com.br
href="mailto:jose.valim@plataformatec.com.br">José Valim</A> </DIV>
<DIV><B>Sent:</B> Monday, January 30, 2017 5:00 PM</DIV>
<DIV><B>To:</B> <A title=alex0player@gmail.com
href="mailto:alex0player@gmail.com">Alex S.</A> </DIV>
<DIV><B>Cc:</B> <A title=john.hughes@quviq.com
href="mailto:john.hughes@quviq.com">John Hughes</A> ; <A
title=erlang-questions@erlang.org
href="mailto:erlang-questions@erlang.org">Erlang</A> </DIV>
<DIV><B>Subject:</B> Re: [erlang-questions] For your amusement--why doesn't this
compile?</DIV></DIV></DIV>
<DIV> </DIV></DIV>
<DIV
style='FONT-SIZE: small; TEXT-DECORATION: none; FONT-FAMILY: "Calibri"; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal; DISPLAY: inline'>
<DIV dir=ltr>My bet is that the parse transform fails before a warning/error is
emitted for the bad -define declaration.
<DIV> </DIV>
<DIV>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.</DIV>
<DIV>
<DIV class=gmail_extra>
<DIV>
<DIV class=gmail_signature data-smartmail="gmail_signature">
<DIV dir=ltr>
<DIV>
<DIV> </DIV>
<DIV><SPAN style="FONT-SIZE: 13px">
<DIV><SPAN
style="FONT-SIZE: 13px; FONT-FAMILY: arial,sans-serif; BORDER-COLLAPSE: collapse"><B>José
Valim</B></SPAN></DIV>
<DIV><SPAN
style="FONT-SIZE: 13px; FONT-FAMILY: arial,sans-serif; BORDER-COLLAPSE: collapse">
<DIV><SPAN style="FONT-SIZE: x-small; FONT-FAMILY: verdana,sans-serif"><A
style="COLOR: rgb(42,93,176)" href="http://www.plataformatec.com.br/"
target=_blank>www.plataformatec.com.br</A></SPAN></DIV>
<DIV><SPAN style="FONT-SIZE: x-small; FONT-FAMILY: verdana,sans-serif">Skype:
jv.ptec</SPAN></DIV>
<DIV><SPAN style="FONT-SIZE: x-small; FONT-FAMILY: verdana,sans-serif">Founder
and Director of
R&D</SPAN></DIV></SPAN></DIV></SPAN></DIV></DIV></DIV></DIV></DIV>
<DIV> </DIV>
<DIV class=gmail_quote>On Mon, Jan 30, 2017 at 4:50 PM, Alex S. <SPAN
dir=ltr><<A href="mailto:alex0player@gmail.com"
target=_blank>alex0player@gmail.com</A>></SPAN> wrote:<BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<DIV style="WORD-WRAP: break-word">It’s considered an unknown module
attribute, and those aren’t errors.<BR>
<DIV>
<BLOCKQUOTE type="cite">
<DIV>30 янв. 2017 г., в 18:38, <A href="mailto:john.hughes@quviq.com"
target=_blank>john.hughes@quviq.com</A> написал(а):</DIV>
<DIV> </DIV>
<DIV>
<DIV style="WORD-WRAP: break-word" dir=ltr>
<DIV dir=ltr>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: calibri">
<DIV>So why isn’t that reported as an error?</DIV>
<DIV> </DIV>
<DIV>John</DIV>
<DIV
style="FONT-SIZE: small; TEXT-DECORATION: none; FONT-FAMILY: calibri; FONT-WEIGHT: normal; FONT-STYLE: normal; DISPLAY: inline">
<DIV style="FONT: 10pt tahoma">
<DIV> </DIV>
<DIV style="BACKGROUND: #f5f5f5">
<DIV><B>From:</B> <A title=alex0player@gmail.com
href="mailto:alex0player@gmail.com" target=_blank>Alex S.</A> </DIV>
<DIV><B>Sent:</B> Monday, January 30, 2017 4:31 PM</DIV>
<DIV><B>To:</B> <A title=john.hughes@quviq.com
href="mailto:john.hughes@quviq.com" target=_blank>john.hughes@quviq.com</A>
</DIV>
<DIV><B>Cc:</B> <A title=erlang-questions@erlang.org
href="mailto:erlang-questions@erlang.org"
target=_blank>erlang-questions@erlang.org</A> </DIV>
<DIV><B>Subject:</B> Re: [erlang-questions] For your amusement--why doesn't
this compile?</DIV></DIV></DIV>
<DIV> </DIV></DIV>
<DIV
style="FONT-SIZE: small; TEXT-DECORATION: none; FONT-FAMILY: calibri; FONT-WEIGHT: normal; FONT-STYLE: normal; DISPLAY: inline">
<DIV> </DIV>
<DIV>
<BLOCKQUOTE type="cite">
<DIV>30 янв. 2017 г., в 18:24, <<A href="mailto:john.hughes@quviq.com"
target=_blank>john.hughes@quviq.com</A>> <<A
href="mailto:john.hughes@quviq.com"
target=_blank>john.hughes@quviq.com</A>> написал(а):</DIV>
<DIV> </DIV>
<DIV>
<DIV dir=ltr>
<DIV dir=ltr>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: calibri">
<DIV>Here’s a behaviour that’s had me tearing my hair today. Consider this
module:</DIV>
<DIV> </DIV>
<DIV>-module('Aaargh!!').</DIV>
<DIV>-define(PLEASE_DONT).</DIV>
<DIV>-ifndef(PLEASE_DONT).</DIV>
<DIV>-compile({parse_transform,<WBR>undefined_parse_transform}).</DIV>
<DIV>-endif.</DIV>
<DIV> </DIV>
<DIV>It fails to compile, with one simple error message:</DIV>
<DIV> </DIV>
<DIV>20> c('Aaargh!!').</DIV>
<DIV>Aaargh!!.erl: undefined parse transform
'undefined_parse_transform'</DIV>
<DIV>error</DIV>
<DIV> </DIV>
<DIV>If you can see why, you’re more an Erlang wizard than I am!</DIV>
<DIV> </DIV></DIV></DIV></DIV></DIV></BLOCKQUOTE>Easy enough, there’s
no one-argument define().</DIV>
<DIV> </DIV>
<DIV>Define it to true if you don’t care about the value.</DIV>
<DIV> </DIV></DIV></DIV></DIV></DIV></DIV></BLOCKQUOTE></DIV>
<DIV> </DIV></DIV><BR>______________________________<WBR>_________________<BR>erlang-questions
mailing list<BR><A
href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</A><BR><A
href="http://erlang.org/mailman/listinfo/erlang-questions" rel=noreferrer
target=_blank>http://erlang.org/mailman/<WBR>listinfo/erlang-questions</A><BR><BR></BLOCKQUOTE></DIV>
<DIV> </DIV></DIV></DIV></DIV></DIV></DIV></DIV></BODY></HTML>