There are plenty who do believe it's convenient to hide compilation in the background--the users of instantfpc. Syntax for shebangs in fpc would bridge instantfpc and traditional Pascal code. You would no longer have to treat instantfpc code as a special case, because fpc wouldn't mind the shebangs.<div>

<br></div><div>It's the same for case statements and if statements. If you really prefer if statements for everything, you can write everything with if statements. But for those who recognize the convenience of case statements, it's nice to have case statements.</div>

<div><br></div><div>Adding shebangs would not change the nature of Pascal. It's first and foremost a compiled, highly optimized language. Shebangs would allow Pascal to better fill the Unix scripting niche.</div><div>

<div><br></div><div>I'm working on a patch, but when I compile fpc, the resulting binary appears to completely ignore the new syntax, insisting that #! is the beginning of an invalid character. Can anyone fix this?</div>

<div><br></div><div><div>if (c = '#') then</div><div>  begin</div><div>    readchar;</div><div>    if c = '!' then</div><div>        begin</div><div>          readchar;</div><div><br></div><div>          repeat</div>

<div>            readchar;</div><div>          until (c = #10) or (c = #13);</div><div>        end;</div><div>  end</div></div><div><br></div><div><div>$ cat hello.pas </div><div>#!/usr/bin/env instantfpc</div><div><br></div>

<div>program Hello;</div><div>begin</div><div><span class="Apple-tab-span" style="white-space:pre">     </span>writeln('Hello World!')</div></div><div>end.</div><div><br></div><div>$ fpc hello.pas</div><div><div>hello.pas(1,1) Error: Illegal char constant</div>

<div>hello.pas(1,2) Fatal: Syntax error, "BEGIN" expected but "const string" found</div></div><div><br></div>Cheers,<div><br></div><div>Andrew Pennebaker</div><div><a href="http://www.yellosoft.us" target="_blank">www.yellosoft.us</a></div>


<br><div class="gmail_quote">On Sun, Oct 16, 2011 at 5:59 AM, Jonas Maebe <span dir="ltr"><<a href="mailto:jonas.maebe@elis.ugent.be">jonas.maebe@elis.ugent.be</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im"><br>
On 16 Oct 2011, at 11:42, Jürgen Hestermann wrote:<br>
<br>
> But hiding away the compilation step from the user does not turn a compiler language into an interpreter language. There is no benefit in doing so. You can simply compile your programs and then use the executable in your scripts. Where is the problem?<br>


<br>
</div>There is no "problem". It's simply a matter of convenience. You may not think it to be more convenient to edit source code and then "run" it without an explicit compilation step in between, but other people obviously do. Trying to convince other people that there is no benefit or trying to make them convince you that there is a benefit is unlikely to lead anywhere.<br>


<br>
That said, adding a hack to the compiler to ignore a she-bang if it appears at the start of a source file is extremely unlikely to ever happen (and I'm personally not inclined to accept such patches). As Mattias mentioned, if you want to compile such source code you can use instantfpc itself to compile the binary.<br>


<font color="#888888"><br>
<br>
Jonas_______________________________________________<br>
</font><div><div></div><div class="h5">fpc-pascal maillist  -  <a href="mailto:fpc-pascal@lists.freepascal.org">fpc-pascal@lists.freepascal.org</a><br>
<a href="http://lists.freepascal.org/mailman/listinfo/fpc-pascal" target="_blank">http://lists.freepascal.org/mailman/listinfo/fpc-pascal</a><br>
</div></div></blockquote></div><br></div>