<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, May 20, 2014 at 3:44 PM, MigMit <span dir="ltr"><<a href="mailto:miguelimo38@yandex.ru" target="_blank">miguelimo38@yandex.ru</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
On 21 May 2014, at 00:32, Mike Meyer <<a href="mailto:mwm@mired.org">mwm@mired.org</a>> wrote:<br>
<br>
> On Tue, May 20, 2014 at 2:51 PM, MigMit <<a href="mailto:miguelimo38@yandex.ru">miguelimo38@yandex.ru</a>> wrote:<br>
> And no, whatever Lispers want to believe in, program is not AST. Program is TEXT.<br>
><br>
> No, a program is a bunch of bits the computer can execute. It can be represented as TEXT, or an AST, or even a diagram in some graphical programming tool somewhere - all of which we also confusingly call a "program".<br>

<br>
Incorrect. There are programs in pseudocode, programs for MIX, programs for machines they don't make anymore. Ada Lovelace created some programs for Babbidge's machine. Program can be buggy, or unfinished. Neither of these types of programs can be executed, but they are still programs. </blockquote>
<div><br></div><div>Incorrect. Those are all representations of programs.  Whether they can or can't be executed is immaterial to that status. As I said, it's common to call a representation of a program a program as well, because the context lets the reader sort it out. But in this context, it matters, because we're talking about alternative representations for programs.</div>
<div><br></div><div>Turning your Haskell representation of a program into an actual program generally requires it to be translated through multiple different representations: core, C, assembler and finally you get a program. There may be some ASTs in there as well. Hopefully, they all preserve the intent of the programmer (otherwise, one or more of the steps in your tool chain is buggy).</div>
<div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
I'd say that what makes program a program is not how it's executed, it's how it is read. By humans.<br></blockquote><div><br></div><div>I'd say that's what makes a text (or whatever) a representation of a program: how it's read by humans. Whether or not it can be turned into an actual, honest to goddesses executable program is another issue entirely.</div>
<div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
And, as for now, there are no adequate alternatives to text representation. </blockquote><div><br></div><div>Now you got it!  To add the proper emphasis: there are no adequate alternatives to text <i style="font-weight:bold">representation</i>. Exactly right! The text is a representation of a program, not a program.</div>
</div></div></div>