<HTML><HEAD>
<META content="text/html charset=utf-8" http-equiv=Content-Type></HEAD>
<BODY
style="WORD-WRAP: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space"
dir=ltr>
<DIV dir=ltr>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri'; COLOR: #000000">
<DIV>Actually, it is an error. As you can see by compiling this instead:</DIV>
<DIV> </DIV>
<DIV>-module('Aaargh!!').</DIV>
<DIV>-define(PLEASE_DONT).</DIV>
<DIV>-ifndef(PLEASE_DONT).</DIV>
<DIV>-error("Weird!").</DIV>
<DIV>-endif.</DIV>
<DIV> </DIV>
<DIV>2> c('Aaargh!!').</DIV>
<DIV>Aaargh!!.erl:2: badly formed 'define'</DIV>
<DIV>Aaargh!!.erl:4: -error("Weird!").</DIV>
<DIV>error</DIV>
<DIV> </DIV>
<DIV>Curiouser and curiouser...</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=alex0player@gmail.com
href="mailto:alex0player@gmail.com">Alex S.</A> </DIV>
<DIV><B>Sent:</B> Monday, January 30, 2017 4:50 PM</DIV>
<DIV><B>To:</B> <A title=john.hughes@quviq.com
href="mailto:john.hughes@quviq.com">john.hughes@quviq.com</A> </DIV>
<DIV><B>Cc:</B> <A title=erlang-questions@erlang.org
href="mailto:erlang-questions@erlang.org">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; COLOR: #000000; FONT-STYLE: normal; DISPLAY: inline'>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">john.hughes@quviq.com</A>
написал(а):</DIV>
<DIV> </DIV>
<DIV>
<DIV
style="WORD-WRAP: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space"
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 style="font-color: black"><B>From:</B> <A title=alex0player@gmail.com
href="mailto:alex0player@gmail.com">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">john.hughes@quviq.com</A> </DIV>
<DIV><B>Cc:</B> <A title=erlang-questions@erlang.org
href="mailto:erlang-questions@erlang.org">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">john.hughes@quviq.com</A>> <<A
href="mailto:john.hughes@quviq.com">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,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></DIV></DIV></BODY></HTML>