# Is there a programming language that is not a formal language

Are out there, any programming languages that are not defined algorithmically so that we can call them "constructed languages" but not "formal languages"? Are there any discussions or papers on that topic? It seems pretty hard to develop a compiler for this kind of languages.

• I'm not sure what you mean. "Formal" in the sense of "formal language" just means that whether or not a string is in the language depends only on its form (i.e., based on considering it as a series of characters). – David Richerby Aug 18 '17 at 16:35
• I think a "formal language" needs to be defined algorithmically so for example by a formal grammar while a "constructed language" can also be defined by examples. Esperanto is a constructed language but not a formal language. – user76239 Aug 18 '17 at 16:46
• But it is defined algorithmically, you have grammar, rules and the dictionary. But in the case of programming languages, how would you parse such language? – Evil Aug 18 '17 at 17:06
• What about using AI to compile English into C-Code? It seems possible to write "code" using a natural language like English. But I think Raphael's answer is good! – user76239 Aug 21 '17 at 7:24
• That would be an interesting idea, to have NLP to parse your speech into code, then compiles it into op code – A.Rashad Aug 29 '17 at 16:01

• Re-reading my answer, I now that token-/macro-expansion languages such as LaTeX may be a counter-example. At least, I have observed plenty of times that pdflatex doesn't terminate, so it's arguably not a decider. (This may be true for some compilers, too; there it's probably a bug.) – Raphael Sep 13 '17 at 21:34