• At what point is a language so abstract that it simply cannot be co

    From [email protected]@21:1/5 to Roger L. on Thu Feb 27 18:27:04 2020
    On Monday, May 13, 2019 at 8:17:54 AM UTC-7, Costello, Roger L. wrote:

    (snip)

    This makes me wonder: Is a theoretical limit to the level of abstraction that can be turned into machine instructions? Are there languages (abstractions) that are so high level, so abstract, that they simply cannot be mapped to the required set of addition, subtraction, comparison, branching instructions? Or is there no limit to the languages/abstractions that can be compiled?

    For most languages, there is some back and forth between language
    design and compiler design, to be sure that the language is parsable.

    Though there is the complication that when new features are added
    to an existing language, for a new release of the standard, to be sure
    that existing programs are still valid and have the same meaning.

    It is possible, for example, to (mis)design a language such that
    the parsing is ambiguous. Having two different mappings to the
    underlying hardware is just about as bad as zero.

    Of the languages that I know about, PL/I is one of the few where pretty
    much the whole language was designed and specified before compiler(s)
    were written. Some parts might have turned out harder to compile than
    might have been expected.

    But note that if a compiler can't figure it out, likely it is even
    harder for a human to understand. Some of the early languages might
    have been designed to be easy to compile, but for many years now,
    compilability is second to the ability of humans to understand and
    reliably write programs in a language. Then some legal language
    constructs are recommended against, as they can confuse readers later,
    though likely not compilers.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)