Talk:Atemlanguage

From Esolang
Jump to navigation Jump to search

How, precisely, is this dual? I've added an explanation to metacompiler which includes Futamura projections, and I'm not seeing how an atemlanguage relates to Futamura theory or partial evaluation. Corbin (talk) 15:52, 27 April 2025 (UTC)

It isn't related to metacompilers at all. I used word "metalanguage" in the widest sense: as language able to implement another language. See metalanguage for more details.
As for seriousness, neither atemlanguage nor I/M Machine is intended as joke. We just should pick a good program, that does interesting things with input, and make its atemlanguage. Usefulness of atemlanguage depends on the chosen simprogram. TBPO 07:27, 28 April 2025 (UTC)
The definition metalanguage of L is a language that has a program that takes an input and executes it as in L is very specific. It sounds equivalent to the the idea of a programming language which has a self-interpreter in it. This is closer to the concept of a metalanguage in programming, but not related to intent. This definition excludes things like regular expressions, which cannot self-interpret. Regular expressions are definitely a metalanguage in the formal language sense.
I don't understand what an atemlanguage or atemprogram is supposed to be. I've tried to understand the concept on the page but it eludes me. Is it reversing the role of inputs and outputs of a program? If so, then it's more related to the concept of the language of a program (the set of all strings the program considers valid). stkptr (talk) 16:55, 28 April 2025 (UTC)
Ok, I will try to explain it simply. Forget about the connection with metalanguages for a while and hear me out.
Suppose that you have a program P, which takes uset input an does some things with it, regardless of its source language or output. When you run the program, you write all of your input in shell/console/whatever you call it. Following me to this point?
So now, instead of entering the input to the dynamic evironment while the program runs, we can write the input in separate file instead. Each time the program will need the user input, it will read the single entry in the file and make different things according to what was already read.
Now you can see that the program can be seen as a programming language interpreter. The language which is interpreted is atemlanguage, the file is a program, and the entries are instructions. I hope this explanation was helpful. TBPO