patternMinor
Can you specify a programming language without implementation?
Viewed 0 times
canwithoutyouprogramminglanguageimplementationspecify
Problem
Is it theoretically possible to specify a programming language for which no implementation could exist? A programming language is a way of defining functions. An implementation means a method to execute a given program in that language on a given input to the output of the function corresponding to the program on that input.
What is are the minimal requirements of such a language?
What is are the minimal requirements of such a language?
Solution
Usually, implementing a programming language is at least giving a interpreter in a language (or a compiler to a language) that is no more than Turing-complete.
Using this "definition" we can specify a programming language like this:
-
there only one possible program that is
-
specification of
Implementing this programming language requires solving the halting problem with the implementation. (Which is impossible since our implementation should not be more powerful than a Turing machine).
Specification handles logic and thus can ask for a lot more. Another specification that will be impossible to implement is "false". (Or any contradictory sentence in the specification) But this does not feels like a specification, which is why I used the halting problem example.
Using this "definition" we can specify a programming language like this:
-
there only one possible program that is
HALT;-
specification of
HALT: it is a function that solve the halting problem.Implementing this programming language requires solving the halting problem with the implementation. (Which is impossible since our implementation should not be more powerful than a Turing machine).
Specification handles logic and thus can ask for a lot more. Another specification that will be impossible to implement is "false". (Or any contradictory sentence in the specification) But this does not feels like a specification, which is why I used the halting problem example.
Context
StackExchange Computer Science Q#2348, answer score: 7
Revisions (0)
No revisions yet.