Page namespace (page_namespace) | 0 |
Page title (without namespace) (page_title) | '+-' |
Full page title (page_prefixedtitle) | '+-' |
Old content model (old_content_model) | 'wikitext' |
New content model (new_content_model) | 'wikitext' |
Old page wikitext, before the edit (old_wikitext) | ''''+-''', or '''ID''', is a [[Joke language list|joke language]] created by [[User:Anonymous]] in 2017.
== Commands ==
+- consists of a single accumulator, along with 2 single-character commands to change it. Using other characters besides these will result in the string <code>Error!</code> being alerted to console or an alert box. Note that this does not stop the program from continuing its execution.
{| class="wikitable"
|-
! Command !! Action
|-
| <code>+</code> || Increments the accumulator.
|-
| <code>-</code> || Decrements the accumulator.
|}
== Examples ==
Sets the accumulator to 1:
+
to 5:
+++++
to 64:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
== Interpreters ==
=== Java ===
public static String id(String p){
int a = 0;
for(int i = 0; i < p.length(); ++i){
switch(p.charAt(i)){
case '+': ++a; break;
case '-': --a; break;
default: System.err.println("Error!");
}
}
return <nowiki>'</nowiki>';
}
}
=== JavaScript ===
function id(p){
var a = 0;
for(var c of p){
switch(c){
case '+': a++; break;
case '-': a--; break;
default: alert('Error!');
}
}
return <nowiki>'</nowiki>';
}
=== Python 3 ===
def id():
acc = 0
while True:
prg = input('\n+-> ')
for cmd in prg:
if cmd == '+': acc += 1
elif cmd == '-': acc -= 1
else: print('Error!'); break
= +-= =
'''+-=''', or '''IDPL''', is the same as +-, except the <code>=</code> operator is added for output.
== Commands ==
{| class="wikitable"
|-
! Command !! Action
|-
| <code>+</code> || Increments the accumulator.
|-
| <code>-</code> || Decrements the accumulator.
|-
| <code>=</code> || Prints the accumulator along with a newline.
|}
== Examples ==
Prints 42:
++++++++++++++++++++++++++++++++++++++++++=
Counts to 10 (separated by newlines):
+=+=+=+=+=+=+=+=+=+=
Prints the ASCII values for [[Hello World]] (word wrapped):
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++
++++++++++++++++++++++=+++++++==+++=--------------------------------------------
-----------------------=------------=+++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++=--------=+++=------=--------=------
-------------------------------------------------------------=------------------
-----=
== Interpreters ==
=== Java ===
public static String idpl(String p){
int a = 0;
for(int i = 0; i < p.length(); ++i){
switch(p.charAt(i)){
case '+': ++a; break;
case '-': --a; break;
case '=': System.out.println(a); break;
default: System.err.println("Error!");
}
}
}
=== JavaScript ===
function idpl(p){
var a = 0, o = '';
for(var c of p){
switch(c){
case '+': a++; break;
case '-': a--; break;
case '=': o += '\n' + a; break;
default: alert('Error!');
}
}
return o.substring(1);
}
=== Python 3 ===
def idpl():
acc = 0
while True:
prg = input('\n+-=> ')
for cmd in prg:
if cmd == '+': acc += 1
elif cmd == '-': acc -= 1
elif cmd == '=': print(acc)
else: print('Error!'); break
== Usability ==
+-= may be usable for very specific [https://codegolf.stackexchange.com/questions/tagged/kolmogorov-complexity Kolmogorov-complexity challenges], if the task is to print numbers on each line.
= +-=*/!&# =
'''+-=*/!&#''' is a language that expands +- more with 6 more commands, adding the feature to print as an ASCII character among others.
== Commands ==
{| class=wikitable
! Command !! Function
|-
| <code>+</code> || Increments the accumulator.
|-
| <code>-</code> || Decrements the accumulator.
|-
| <code>=</code> || Prints the accumulator's value.
|-
| <code>*</code> || Prints the accumulator as an ASCII character.
|-
| <code>/</code> || Sets the accumulator to 0.
|-
| <code>!</code> || Increments the accumulator by 10.
|-
| <code>&</code> || Decrements the accumulator by 10.
|-
| <code>#</code> || Prints a newline.
|}
Note that <code>=</code> no longer adds a newline, and unknown commands are treated as NOPs instead of causing an error.
== Examples ==
=== [[FizzBuzz]] ===
!!!!!-*#+*#!!*!!!+++++*!!---**#&&&&&&&*#!++++*!!!!!+*+++++**#&&&&&--*!!!+++++*!!
---**#&&&&&&&+++*#+*#!++++*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++**#/!!!!!-**#
!!+*!!!+++++*!!---**#/!!!!!-*++*#--*+++*#!!--*!!!+++++*!!---**&&&&&&++++*!!!!!+*
+++++**#/!!!!!-*+++++*#-----*!----*#!+++++*!!!+++++*!!---**#/!!!!!-*!--*#!-*!!!!
!+*+++++**#&&&&&--*!!!+++++*!!---**#/!!!!!**#*+*#!!-*!!!+++++*!!---**#&&&&&&++++
*!!!!!+*+++++**#/!!!!!*++++*#!!----*!!!+++++*!!---**#/!!!!!*!----*#&++++*!---*#!
+++*!!!+++++*!!---**&&&&&&++++*!!!!!+*+++++**#/!!!!!+*--*#++*-*#!!*!!!+++++*!!--
-**#/!!!!!+*+*#!++++*!!!!!+*+++++**#&&&&&--*!!!+++++*!!---**#/!!!!!+*++++*#----*
+++++*#!++++*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++**#&&&&&&&*---*#!!+*!!!++++
+*!!---**#&&&&&&&*-*#+**#!!--*!!!+++++*!!---**&&&&&&++++*!!!!!+*+++++**#&&&&&&&*
++*#--*+++*#!+++++*!!!+++++*!!---**#&&&&&&&*+++++*#!-*!!!!!+*+++++**#&&&&&--*!!!
+++++*!!---**#&&&&&&&+*---*#+++*--*#!!-*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++
**#&&&&&&&+*+*#!!----*!!!+++++*!!---**#&&&&&&&+*+++*#---*++++*#!+++*!!!+++++*!!-
--**&&&&&&++++*!!!!!+*+++++**#&&&&&&&++*-----*#+++++*----*#!!*!!!+++++*!!---**#&
&&&&&&++*--*#!++++*!!!!!+*+++++**#&&&&&--*!!!+++++*!!---**#&&&&&&&++*+*#-*++*#!+
+++*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++**#&&&&&&&+++*&++++*#!!+*!!!+++++*!!
---**#&&&&&&&+++*----*#++++*---*#!!--*!!!+++++*!!---**&&&&&&++++*!!!!!+*+++++**#
&&&&&&&+++*-*#+**#!+++++*!!!+++++*!!---**#&&&&&&&+++*++*#!-*!!!!!+*+++++**#&&&&&
--*!!!+++++*!!---**#&&&&&&&++++*&++++*#!----*-----*#!!-*!!!+++++*!!---**#&&&&&&+
+++*!!!!!+*+++++**#&&&&&&&++++*--*#!!----*!!!+++++*!!---**#&&&&&&&++++**#*+*#!++
+*!!!+++++*!!---**&&&&&&++++*!!!!!+*+++++**#/!!!!!!---*&++*#!--*&+++*#!!*!!!++++
+*!!---**#/!!!!!!---*-----*#!++++*!!!!!+*+++++**#&&&&&--*!!!+++++*!!---**#/!!!!!
!---*--*#++*-*#!++++*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++**
=== [[Hello World]] ===
!!!!!!!++*!!!-*!---**+++*/!!!++*!!!!!+++++*!!++++*+++*&++++*&++*/!!!+++*
== Interpreters ==
=== Java ===
public static String idplidpl(String p){
int a = 0;
for(int i = 0; i < code.length(); ++i){
switch(p.charAt(i)){
case '+': ++a; break;
case '-': --a; break;
case '=': System.out.print(a); break;
case '*': System.out.print((char)a); break;
case '/': a = 0; break;
case '!': a += 10; break;
case '&': a -= 10; break;
case '#': System.out.println(); break;
}
}
}
=== JavaScript ===
function idplidpl(p){
var a = 0, o = '';
for(var c of p){
switch(c){
case '+': a++; break;
case '-': a--; break;
case '=': o += a; break;
case '*': o += String.fromCharCode(a); break;
case '/': a = 0; break;
case '!': a += 10; break;
case '&': a -= 10; break;
case '#': o += '\n'; break;
}
}
return o;
}
=== ProcessingJS ===
var interpreter = function(code){
var o = "";
var a = 0;
for(var i = 0; i < code.length; i++){
switch(code.charAt(i)){
case "+": acc++; break;
case "-": acc--; break;
case "=": console.log(acc); break;
case "*": console.log(String.fromCharCode(acc)); break;
case "/": acc = 0; break;
case "!": acc += 10; break;
case "&": acc -= 10; break;
case "#": console.log("\n");
}
}
println(o);
};
=== Python 3 ===
def pmeaseap():
acc = 0
while True:
prg = input('\n+-=*/!&#> ')
for cmd in prg:
if cmd == '+': acc += 1
elif cmd == '-': acc -= 1
elif cmd == '=': print(acc, end="")
elif cmd == '*': print(chr(acc), end="")
elif cmd == '/': acc = 0
elif cmd == '!': acc += 10
elif cmd == '&': acc -= 10
elif cmd == '#': print()
= +-=*/@%#(x)< =
'''+-=*/@%#(x)<''' is a language that expands +-=*/!&# with a few more commands. This makes it a lot more usable
== Commands ==
<code>!</code> and <code>&</code> have been removed.
{| class=wikitable
! Command !! Function
|-
| <code>+</code> || Increments the accumulator.
|-
| <code>-</code> || Decrements the accumulator.
|-
| <code>=</code> || Prints the accumulator's value.
|-
| <code>*</code> || Prints the accumulator as an ASCII character.
|-
| <code>@</code> || Inputs the next integer to the accumulator.
|-
| <code>%</code> || Inputs the next character in ASCII to the accumulator.
|-
| <code>/</code> || Sets the accumulator to 0.
|-
| <code>#</code> || Prints a newline.
|-
| <code>(x)</code> || Does the previous command x amount of times. This makes <code>!</code> and <code>&</code> redundant, thus being removed. You can also keep the x to repeat the command the number of times in the accumalator.
|-
| <code><</code> || Moves the pointer one command back. a command with a <code>(x)</code> after it will be counted as one command (e.g.<code>+(5)<</code> will constantly increment the accumulator by 5). You can also use <code><(x)<</code> to go back multiple commands.
|}
==Examples==
===[[Cat Program]]===
this is a simple [[Cat Program]] for one character
%*
===[[Truth Machine]]===
First, it takes in an integer input and prints it
then it will move the pointer back the number in the accumulator, meaning, if the accumulator is 0 then the program will go on without doing anything and terminate, but if the accumulator is 1 then the pointer will go back one to the command <code>=</code> which will output the accumulator, which is one, and repeat.
@=<(x)
==Interpreters==
WIP
[[Category:2017]]
[[Category:Unusable for programming]]
[[Category:Implemented]]
[[Category:Joke languages]]' |
New page wikitext, after the edit (new_wikitext) | ''''+-''', or '''ID''', is a [[Joke language list|joke language]] created by [[User:Anonymous]] in 2017.
== Commands ==
+- consists of a single accumulator, along with 2 single-character commands to change it. Using other characters besides these will result in the string <code>Error!</code> being alerted to console or an alert box. Note that this does not stop the program from continuing its execution.
{| class="wikitable"
|-
! Command !! Action
|-
| <code>+</code> || Increments the accumulator.
|-
| <code>-</code> || Decrements the accumulator.
|}
== Examples ==
Sets the accumulator to 1:
+
to 5:
+++++
to 64:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
== Interpreters ==
=== Java ===
public static String id(String p){
int a = 0;
for(int i = 0; i < p.length(); ++i){
switch(p.charAt(i)){
case '+': ++a; break;
case '-': --a; break;
default: System.err.println("Error!");
}
}
return <nowiki>'</nowiki>';
}
}
=== JavaScript ===
function id(p){
var a = 0;
for(var c of p){
switch(c){
case '+': a++; break;
case '-': a--; break;
default: alert('Error!');
}
}
return <nowiki>'</nowiki>';
}
=== Python 3 ===
def id():
acc = 0
while True:
prg = input('\n+-> ')
for cmd in prg:
if cmd == '+': acc += 1
elif cmd == '-': acc -= 1
else: print('Error!'); break
=== C ===
#include <stdio.h>
int main() {
int ch, ax = 0;
while((ch = getchar()) {
ax += (ch == '+') - (ch == '-');
}
}
= +-= =
'''+-=''', or '''IDPL''', is the same as +-, except the <code>=</code> operator is added for output.
== Commands ==
{| class="wikitable"
|-
! Command !! Action
|-
| <code>+</code> || Increments the accumulator.
|-
| <code>-</code> || Decrements the accumulator.
|-
| <code>=</code> || Prints the accumulator along with a newline.
|}
== Examples ==
Prints 42:
++++++++++++++++++++++++++++++++++++++++++=
Counts to 10 (separated by newlines):
+=+=+=+=+=+=+=+=+=+=
Prints the ASCII values for [[Hello World]] (word wrapped):
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++
++++++++++++++++++++++=+++++++==+++=--------------------------------------------
-----------------------=------------=+++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++=--------=+++=------=--------=------
-------------------------------------------------------------=------------------
-----=
== Interpreters ==
=== Java ===
public static String idpl(String p){
int a = 0;
for(int i = 0; i < p.length(); ++i){
switch(p.charAt(i)){
case '+': ++a; break;
case '-': --a; break;
case '=': System.out.println(a); break;
default: System.err.println("Error!");
}
}
}
=== JavaScript ===
function idpl(p){
var a = 0, o = '';
for(var c of p){
switch(c){
case '+': a++; break;
case '-': a--; break;
case '=': o += '\n' + a; break;
default: alert('Error!');
}
}
return o.substring(1);
}
=== Python 3 ===
def idpl():
acc = 0
while True:
prg = input('\n+-=> ')
for cmd in prg:
if cmd == '+': acc += 1
elif cmd == '-': acc -= 1
elif cmd == '=': print(acc)
else: print('Error!'); break
== Usability ==
+-= may be usable for very specific [https://codegolf.stackexchange.com/questions/tagged/kolmogorov-complexity Kolmogorov-complexity challenges], if the task is to print numbers on each line.
= +-=*/!&# =
'''+-=*/!&#''' is a language that expands +- more with 6 more commands, adding the feature to print as an ASCII character among others.
== Commands ==
{| class=wikitable
! Command !! Function
|-
| <code>+</code> || Increments the accumulator.
|-
| <code>-</code> || Decrements the accumulator.
|-
| <code>=</code> || Prints the accumulator's value.
|-
| <code>*</code> || Prints the accumulator as an ASCII character.
|-
| <code>/</code> || Sets the accumulator to 0.
|-
| <code>!</code> || Increments the accumulator by 10.
|-
| <code>&</code> || Decrements the accumulator by 10.
|-
| <code>#</code> || Prints a newline.
|}
Note that <code>=</code> no longer adds a newline, and unknown commands are treated as NOPs instead of causing an error.
== Examples ==
=== [[FizzBuzz]] ===
!!!!!-*#+*#!!*!!!+++++*!!---**#&&&&&&&*#!++++*!!!!!+*+++++**#&&&&&--*!!!+++++*!!
---**#&&&&&&&+++*#+*#!++++*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++**#/!!!!!-**#
!!+*!!!+++++*!!---**#/!!!!!-*++*#--*+++*#!!--*!!!+++++*!!---**&&&&&&++++*!!!!!+*
+++++**#/!!!!!-*+++++*#-----*!----*#!+++++*!!!+++++*!!---**#/!!!!!-*!--*#!-*!!!!
!+*+++++**#&&&&&--*!!!+++++*!!---**#/!!!!!**#*+*#!!-*!!!+++++*!!---**#&&&&&&++++
*!!!!!+*+++++**#/!!!!!*++++*#!!----*!!!+++++*!!---**#/!!!!!*!----*#&++++*!---*#!
+++*!!!+++++*!!---**&&&&&&++++*!!!!!+*+++++**#/!!!!!+*--*#++*-*#!!*!!!+++++*!!--
-**#/!!!!!+*+*#!++++*!!!!!+*+++++**#&&&&&--*!!!+++++*!!---**#/!!!!!+*++++*#----*
+++++*#!++++*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++**#&&&&&&&*---*#!!+*!!!++++
+*!!---**#&&&&&&&*-*#+**#!!--*!!!+++++*!!---**&&&&&&++++*!!!!!+*+++++**#&&&&&&&*
++*#--*+++*#!+++++*!!!+++++*!!---**#&&&&&&&*+++++*#!-*!!!!!+*+++++**#&&&&&--*!!!
+++++*!!---**#&&&&&&&+*---*#+++*--*#!!-*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++
**#&&&&&&&+*+*#!!----*!!!+++++*!!---**#&&&&&&&+*+++*#---*++++*#!+++*!!!+++++*!!-
--**&&&&&&++++*!!!!!+*+++++**#&&&&&&&++*-----*#+++++*----*#!!*!!!+++++*!!---**#&
&&&&&&++*--*#!++++*!!!!!+*+++++**#&&&&&--*!!!+++++*!!---**#&&&&&&&++*+*#-*++*#!+
+++*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++**#&&&&&&&+++*&++++*#!!+*!!!+++++*!!
---**#&&&&&&&+++*----*#++++*---*#!!--*!!!+++++*!!---**&&&&&&++++*!!!!!+*+++++**#
&&&&&&&+++*-*#+**#!+++++*!!!+++++*!!---**#&&&&&&&+++*++*#!-*!!!!!+*+++++**#&&&&&
--*!!!+++++*!!---**#&&&&&&&++++*&++++*#!----*-----*#!!-*!!!+++++*!!---**#&&&&&&+
+++*!!!!!+*+++++**#&&&&&&&++++*--*#!!----*!!!+++++*!!---**#&&&&&&&++++**#*+*#!++
+*!!!+++++*!!---**&&&&&&++++*!!!!!+*+++++**#/!!!!!!---*&++*#!--*&+++*#!!*!!!++++
+*!!---**#/!!!!!!---*-----*#!++++*!!!!!+*+++++**#&&&&&--*!!!+++++*!!---**#/!!!!!
!---*--*#++*-*#!++++*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++**
=== [[Hello World]] ===
!!!!!!!++*!!!-*!---**+++*/!!!++*!!!!!+++++*!!++++*+++*&++++*&++*/!!!+++*
== Interpreters ==
=== Java ===
public static String idplidpl(String p){
int a = 0;
for(int i = 0; i < code.length(); ++i){
switch(p.charAt(i)){
case '+': ++a; break;
case '-': --a; break;
case '=': System.out.print(a); break;
case '*': System.out.print((char)a); break;
case '/': a = 0; break;
case '!': a += 10; break;
case '&': a -= 10; break;
case '#': System.out.println(); break;
}
}
}
=== JavaScript ===
function idplidpl(p){
var a = 0, o = '';
for(var c of p){
switch(c){
case '+': a++; break;
case '-': a--; break;
case '=': o += a; break;
case '*': o += String.fromCharCode(a); break;
case '/': a = 0; break;
case '!': a += 10; break;
case '&': a -= 10; break;
case '#': o += '\n'; break;
}
}
return o;
}
=== ProcessingJS ===
var interpreter = function(code){
var o = "";
var a = 0;
for(var i = 0; i < code.length; i++){
switch(code.charAt(i)){
case "+": acc++; break;
case "-": acc--; break;
case "=": console.log(acc); break;
case "*": console.log(String.fromCharCode(acc)); break;
case "/": acc = 0; break;
case "!": acc += 10; break;
case "&": acc -= 10; break;
case "#": console.log("\n");
}
}
println(o);
};
=== Python 3 ===
def pmeaseap():
acc = 0
while True:
prg = input('\n+-=*/!&#> ')
for cmd in prg:
if cmd == '+': acc += 1
elif cmd == '-': acc -= 1
elif cmd == '=': print(acc, end="")
elif cmd == '*': print(chr(acc), end="")
elif cmd == '/': acc = 0
elif cmd == '!': acc += 10
elif cmd == '&': acc -= 10
elif cmd == '#': print()
= +-=*/@%#(x)< =
'''+-=*/@%#(x)<''' is a language that expands +-=*/!&# with a few more commands. This makes it a lot more usable
== Commands ==
<code>!</code> and <code>&</code> have been removed.
{| class=wikitable
! Command !! Function
|-
| <code>+</code> || Increments the accumulator.
|-
| <code>-</code> || Decrements the accumulator.
|-
| <code>=</code> || Prints the accumulator's value.
|-
| <code>*</code> || Prints the accumulator as an ASCII character.
|-
| <code>@</code> || Inputs the next integer to the accumulator.
|-
| <code>%</code> || Inputs the next character in ASCII to the accumulator.
|-
| <code>/</code> || Sets the accumulator to 0.
|-
| <code>#</code> || Prints a newline.
|-
| <code>(x)</code> || Does the previous command x amount of times. This makes <code>!</code> and <code>&</code> redundant, thus being removed. You can also keep the x to repeat the command the number of times in the accumalator.
|-
| <code><</code> || Moves the pointer one command back. a command with a <code>(x)</code> after it will be counted as one command (e.g.<code>+(5)<</code> will constantly increment the accumulator by 5). You can also use <code><(x)<</code> to go back multiple commands.
|}
==Examples==
===[[Cat Program]]===
this is a simple [[Cat Program]] for one character
%*
===[[Truth Machine]]===
First, it takes in an integer input and prints it
then it will move the pointer back the number in the accumulator, meaning, if the accumulator is 0 then the program will go on without doing anything and terminate, but if the accumulator is 1 then the pointer will go back one to the command <code>=</code> which will output the accumulator, which is one, and repeat.
@=<(x)
==Interpreters==
WIP
[[Category:2017]]
[[Category:Unusable for programming]]
[[Category:Implemented]]
[[Category:Joke languages]]' |
Lines added in edit (added_lines) | [
0 => '',
1 => '=== C ===',
2 => ' #include <stdio.h>',
3 => ' ',
4 => ' int main() {',
5 => ' int ch, ax = 0;',
6 => ' while((ch = getchar()) {',
7 => ' ax += (ch == '+') - (ch == '-');',
8 => ' }',
9 => ' }',
10 => ''
] |