From Esolang
Jump to navigation Jump to search

Definition of Esoteric Programming Language

According to the Esoteric programming language article an Esoteric programming language is a computer programming language. This would indicate that IRP is not an esolang, as it does not run on a computer (unless you consider the human brain a computer). I therefore suggest that the word computer is removed from the article, and possibly replaced by a more general term which will encompass languages that run on other hardware than computers. Unfortunately I don't know what that term would be, so I want suggestions! --Rune 23:37, 22 Aug 2005 (GMT)

This isn't an esoteric programming language. It's a joke. Therefore, whether it matches our definition in that article doesn't matter. --Graue 01:22, 23 Aug 2005 (GMT)
I know, and my suggestion was meant as a joke as well (which is why I posted it here, and not on Talk:Esoteric programming language). I guess I should have added a ;-) to avoid confusion. However, I still think it is interesting whether or not Programming languages only applies to computers, though I guess anything that can be programmed can be considered a computer... --Rune 02:12, 23 Aug 2005 (GMT)
It runs on the IRC operating system, and *always* makes network connections. --Ihope127 21:59, 17 Sep 2005 (GMT)

The problem with removing the term "Computer" from "Computer programming language" is that you first have to settle on what the definition of a computer really is. With quantum and DNA computing, just about every medium is being used for computation. I don't see any reason why human beings can't be either. It would be interesting to question whether or not an IRP program could be written without the computer (i.e. the IRC participants) knowing it was being involved in the computation, much as qubits are seldom aware that they are actually the part of an integer factoring algorithm. It would probably be somewhere in the realm of negotiating psychology, perhaps leading to the esolang terminology IRP meaning "to convince", i.e. "I IRP'd the salesman to give me the car for $8,500" Then again, maybe not. --Wildhalcyon 03:31, 18 Sep 2005 (GMT)


I think it's Turing-complete, as the following Brainfuck implementation should work (as most people on #esoteric probably have access to a Brainfuck interpreter):

Please run the following Brainfuck program: {brainfuck program goes here} with the following input: {input goes here}.

Therefore, IRP should not be categorized "Unknown computing class". I'm not entirely sure though... --Marinus 14:39, 1 July 2006

I've got a better proof of it's Turing-completeness. As the IRP#esoteric implementation usually supports the EgoBot command set, one can instead write "!bf {brainfuck program}" and then "!i $number_of_process $input". Pikhq 18:45, 14 Aug 2006 (UTC)
But EgoBot isn't Turing-complete. --Ihope127 11:49, 21 Aug 2006 (UTC)
Couldn't one do something like this?
Keep in mind an infinite array and a pointer, any value can be any non-negative integer.
And later do things like:
Decrease the cell the pointer is at.
Ignore the next IRP request if the current cell is zero.
Output "Cell value is still non-zero!" on the screen.
--Keymaker 13:16, 21 Aug 2006 (UTC)

You're all wrong. Wrong wrong wrong. To quote the page: "write, in plain English, in polite command form, what you intend for your program to do." Brainfuck is NOT plain English in polite command form. So it's not valid IRP. And while you can request that somebody keep infinite memory in mind, they actually can't do that. So it may be that the language itself is Turing-complete but there is no TC implementation. --GregorR 17:37, 21 Aug 2006 (UTC)

That's true of most TC languages (even brainfuck)... no real computer is TC, so it can't interpret a TC language, just compile it into a different TC language. I'm inclined to think that IRP is 'theoretically TC', but there's no way of testing this. And using Egobot is cheating. ais523 14:15, 22 Aug 2006 (UTC)
The language is Turing complete. The spec does not require anyone to keep any memory in mind, so the size argument is invalid. They could for instance use a tape of unlimited length instead. Of course this is not possible in reality, but that is the same for all Turing complete languages. There is no such thing as a Turing complete implementation. --Rune 12:51, 23 Aug 2006 (UTC)
Ahh, but you are writing in polite command form when you politely ask someone to run some code. --Sillyman, Without an Account

It isn't turing complete because you have to send a message to someone who does not have access to turing complete computer systems. Even though brainfuck is turing complete, whoever you send a message to will not have a turing complete implementation of brainfuck. It is run on a computer because you have to use a computer to send messages to other people. It is not run entirely on a computer because some people have to respond to the message. Nobody can keep in mind an infinite array and a pointer. --Zzo38 15:19, 11 Nov 2006 (UTC)

Channel change?

Perhaps references to #esoteric could be changed to references to #irp so that those citizens of #esoteric who are tired of repeatedly seeing people join and ask "Please write 'Hello, world!'" are no longer disturbed. Opinions? --pgimeno 15:53, 3 Jan 2007 (UTC)

IRP hosted interpretter

The article says "A self-hosted implementation in IRP does not exist because if it did it would be quite annoying." Wouldn't one be implemented using a program somewhat like: "when someone writes, in plain English, in polite command form, what they intend their program to do, provide an appropriate response." For instance, a python interpretter implemented in python still needs (eg) cPython at the bottom: the IRC channel could similarly be seen as nothing more than an interpretter. RoadieRich 08:59, 19 September 2010 (UTC)