Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #1422

Re: Writing A Plain English Compiler

From Joshua Cranmer 🐧 <Pidgeot18@verizon.net>
Newsgroups comp.compilers
Subject Re: Writing A Plain English Compiler
Date 2014-11-07 22:54 -0600
Organization A noiseless patient Spider
Message-ID <14-11-014@comp.compilers> (permalink)
References <14-11-004@comp.compilers> <14-11-005@comp.compilers> <14-11-007@comp.compilers>

Show all headers | View raw


On 11/6/2014 6:52 PM, Gerry Rzeppa wrote:
> Gerry replies, Yes, I am assuming a particular, very specific way of
>  looking at programming, because that's the model that we find works
> best for us.
 >
> Gerry replies, It is our belief that in many cases, parallelism of
> any kind is simply overkill.
 >
 > Gerry: We fully agree: that's the whole point of Hybrid programming;
 > you use the mode of expression that's most natural for each part of a
 > program. But the whole is contained in the most natural framework,
 > specifically, a natural language (in our case, English) -- like a
 > math book, or a physics book, or a technical (or non-technical)
 > paper. Think Plain English with sub-compilers for whatever other
 > syntaxes seem generally (or specifically!) useful.

I'm putting these three replies in juxtaposition with each other
because it's the best way I can think of to explain the inherent
contradiction I see.

You want to design a language model that allows people to express
their thoughts in the most natural way possible. Yet at the same time,
you limit the expressibility of the programming model because, well,
you personally don't think naturally in alternative models and thus
you don't see why other people might.

When I tried to point out examples of alternative paradigms, your
reply was fixated on trying to prove that you could express them in
your procedural paradigm. That's not the point. The point was that
having to do these paradigm translations is as much a programmer
burden as, say, having to translate from "I need to solve this
equation" to writing the code to solve that equation.



> Once it has slowed to one or two seconds between pops, take it out
> of the microwave.
>
[ ... ]
> Gerry replies: But we can express that thought, as above. Or like
> this:
> To make some popcorn: Put the popcorn into the microwave oven. Turn
> on the oven. Loop. If it not has slowed to one or two seconds between
> pops, repeat. Take the popcorn out of the microwave.

But those two statements are not semantically equivalent. The example
you give requires the program to continually check in a busy-wait
loop; the example I gave does not.

> Gerry: Actually, what we're most proud of is not the syntax per se,
> but (1) the fact that we were able to do so much with so little: that
> we were able to conveniently and efficiently write a complete,
> non-trivial and iconoclastic development environment with a unique
> native-code-generating compiler/linker for a subset of English (with
> a wysiwyg page-layout documentation facility, to boot) entirely in
> that very subset of English

After reading the thread you posted, it became clear to me that you
are (were?) under the impression that having a self-hosting compiler
was rare for a new proposed language. On the contrary, it is (to my
knowledge) standard rigor to present a new language by having its
self-hosted compiler be the largest application written in said
language. I've even heard it opined that this tends to cause people to
optimize their language design for writing compilers to the detriment
of other kinds of applications.

Your comments about "subset of English" are misleading, when taken in
context of your stated goal of making a "natural language" compiler.
That term, in the eyes of most, would imply that you could, say, build
a compiler that inputs the ISO C++11 specification and outputs a
working C++11 compiler.

Regardless of whether or not that is what you desire to build, your
prototype does not clearly make any advancements to that goal. What
you have is not a compiler that parses English but one that parses a
language which happens to be a subset of English--it's a very big
difference, but several others have attempted to explain that
difference to you and failed, and I have no expectation of being any
different.

> and (2) that our system can be used,
> educationally, with everyone from primary school children to college
> students writing compilers -- the very same development environment
> and language being suitable for both.

Programming came so naturally to me that I disclaim any ability to
properly evaluate programming 101. But the responses you have given,
both in this newsgroup and the AnandTech forum thread, suggest to me
that you are aware of the issues in writing large, complex software:
you appear to value minimalism in a language (rather than in client
code) very highly, and you appear to be very dismissive of "new"
paradigms.

A mild example of that tendency is present in the statement I quoted:
you list compilers as the "more complex" endpoint, yet compilers are
relatively simple affairs--which is why compiler courses tend to
assign "build a compiler" as an ongoing project in the course. The
sorts of projects I associate with production languages tend to start
considering themselves large only when they get a few million lines of
code.
--
Beware of bugs in the above code; I have only proved it correct, not
tried it. -- Donald E. Knuth

Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Writing A Plain English Compiler "Gerry Rzeppa" <gerry.rzeppa@pobox.com> - 2014-11-04 15:50 -0600
  Re: Writing A Plain English Compiler Joshua Cranmer 🐧 <Pidgeot18@verizon.net> - 2014-11-05 00:54 -0600
    Re: Writing A Plain English Compiler "Gerry Rzeppa" <gerry.rzeppa@pobox.com> - 2014-11-06 18:52 -0600
      Re: Writing A Plain English Compiler Joshua Cranmer 🐧 <Pidgeot18@verizon.net> - 2014-11-07 22:54 -0600
        Re: Writing A Plain English Compiler "Gerry Rzeppa" <gerry.rzeppa@pobox.com> - 2014-11-08 02:41 -0600
        Re: Writing A Plain English Compiler "Gerry Rzeppa" <gerry.rzeppa@pobox.com> - 2014-11-08 03:46 -0600
          Re: Writing A Plain English Compiler "BartC" <bc@freeuk.com> - 2014-11-09 01:16 +0000
            Re: Writing A Plain English Compiler "Gerry Rzeppa" <gerry.rzeppa@pobox.com> - 2014-11-10 14:37 -0600
            Re: self-hosting, was Writing A Plain English Compiler Richard Hable <portempa@aon.at> - 2014-11-11 19:50 +0100
              Re: self-hosting, was Writing A Plain English Compiler "BartC" <bc@freeuk.com> - 2014-11-11 23:33 +0000
                Re: self-hosting, was Writing A Plain English Compiler anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-11-12 08:46 +0000
                Re: self-hosting, was Writing A Plain English Compiler "BartC" <bc@freeuk.com> - 2014-11-12 11:15 +0000
              Re: self-hosting, was Writing A Plain English Compiler anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-11-12 08:40 +0000
    Re: Writing A Plain English Compiler "BartC" <bcas@freeuk.com> - 2014-11-07 11:36 +0000
    Re: Writing A Plain English Compiler George Neuner <gneuner2@comcast.net> - 2014-11-07 16:23 -0500
      Re: Writing A Plain English Compiler Richard Hable <portempa@aon.at> - 2014-11-08 17:22 +0100
      Re: Writing A Plain English Compiler Joshua Cranmer 🐧 <Pidgeot18@verizon.invalid> - 2014-11-08 10:48 -0600
        Re: language design models, was Writing A Plain English Compiler George Neuner <gneuner2@comcast.net> - 2014-11-09 14:30 -0500
          Re: language design models, was Writing A Plain English Compiler "Gerry Rzeppa" <gerry.rzeppa@pobox.com> - 2014-11-10 03:29 -0600
          Re: Writing A Plain English Compiler Tomasz Kowaltowski <tk@ic.unicamp.br> - 2014-11-10 09:13 -0200
            Re: Writing A Plain English Compiler "Gerry Rzeppa" <gerry.rzeppa@pobox.com> - 2014-11-10 17:19 -0600
      Re: matching tasks to languages, was Writing A Plain English Compiler Gene Wirchenko <genew@telus.net> - 2014-11-10 15:37 -0800
    Re: Writing A Plain English Compiler Martin Ward <martin@gkc.org.uk> - 2014-11-10 22:56 +0000
  Re: Writing A Plain English Compiler "BartC" <bcas@freeuk.com> - 2014-11-07 11:39 +0000
    Re: Writing A Plain English Compiler "BartC" <bc@freeuk.com> - 2014-11-08 00:35 +0000
  Fundamentals for a Compiler and Language (was: Writing A Plain English Compiler) federation2005@netzero.com - 2014-12-29 13:30 -0800

csiph-web