Examine individual changes

Abuse Filter navigation (Home | Recent filter changes | Examine past edits | Abuse log)
Jump to navigation Jump to search

This page allows you to examine the variables generated by the Abuse Filter for an individual change.

Variables generated for this change

VariableValue
Edit count of the user (user_editcount)
0
Name of the user account (user_name)
'Megarev'
Age of the user account (user_age)
163
Page ID (page_id)
13390
Page namespace (page_namespace)
0
Page title (without namespace) (page_title)
'GORBITSA'
Full page title (page_prefixedtitle)
'GORBITSA'
Action (action)
'edit'
Edit summary/reason (summary)
'/* Programs */ '
Old content model (old_content_model)
'wikitext'
New content model (new_content_model)
'wikitext'
Old page wikitext, before the edit (old_wikitext)
'{{infobox proglang |name=GORBITSA |paradigms=imperative |author=David Barr |year=[[:Category:2020|2020]] |memsys=[[:Category:Cell-based|Cell-based]] |class=[[:Category:Unknown computational class|Unknown computational class]] |files=<code>.gbt</code>, <code>.bgbt</code> }} '''GORBITSA''' is a novelty [[esoteric programming language]] created by David Barr (aka javidx9) as a programming challenge for One Lone Coder community. It's jokingly named after one of community moderators Gorbit. It first appeared in OLC Discord server on 17th June 2020. ==Complete description of the language as initially provided== Memory = 256 unsigned 8-bit cells X = unsigned 8-bit register Program counter starts at 0 256 program "instruction" slots G = GRAB X, N // Read X from mem[N] O = OFFER X, N // Write X to mem[N] R = RECEIVE X // Reads from input stream into X B = BRANCH X == 0, N // If X == 0, goto instruction N I = INCREASE X, N // Adds N to X register T = TRANSMIT X // Writes X to output stream S = SET X <- N // Set X explicitly to N A = ADD X, N // Adds mem[N] to X register g = GRAB X, [N] // Read X from mem[mem[N]] o = OFFER X, [N] // Write X to mem[mem[N]] r = RECEIVE [N] // Reads from input stream into mem[N] b = BRANCH X == 0, [N] // If X == 0, goto instruction mem[N] i = INCREASE [N], X // mem[N] = mem[N] + X t = TRANSMIT [N] // Writes to output stream mem[N] s = SET X <- X XOR [N] // Performs logic X XOR mem[N], stores in X a = ADD X, [N] // Adds mem[mem[N]] to X register GORBIT-ROM - Program stream is in external memory GORBIT-RAM - Program stream is in memory, each instruction is 2 bytes, therefore PC+=2 per op Example syntax R O201 R O202 S0 O203 G202 A202 O202 G201 I255 O201 B6 G202 T First implementation will likely appear in coming days and will be linked here. ==Language overview== GORBITSA operates on array of 256 8-bit cells (Memory) and single 8-bit register (X).<br> Instruction are provided in linear format, up to 256 instructions (slots 0-255). Current instruction is tracked by instruction counter (IC). At the beginning IC is 0. In each step instruction pointed by IC is read and executed. If instruction doesn't modify IC, the IC is incremented.<br> If IC points after last instruction, it is implementation-defined whether execution halts or continues.<br> If IC increments from 255, it is implementation-defined whether execution halts, or IC rolls over to 0. Whether input and/or output are in a form of a number or ascii character is implementation-defined. All instructions are made out of single-letter command code and up to 1 number parameter. {| class="wikitable" !Command code !Parameter !Description |- | style="text-align:center"| <code>G</code> |Yes: N |X = Memory[N] |- | style="text-align:center"| <code>O</code> |Yes: N |Memory[N] = X |- | style="text-align:center"| <code>R</code> |No |Read input into X |- | style="text-align:center"| <code>B</code> |Yes: N |if X == 0, IC = N |- | style="text-align:center"| <code>I</code> |Yes: N |X += N |- | style="text-align:center"| <code>T</code> |No |Write X into output |- | style="text-align:center"| <code>S</code> |Yes: N |X = N |- | style="text-align:center"| <code>A</code> |Yes: N |X += Memory[N] |} ==Expansions== ===gorbitsa=== After limitations of base language were recognized, the instruction set was expanded to lower case letters.<br> New set allows direct I/O with memory, runtime computed goto destination and XOR. {| class="wikitable" !Command code !Parameter !Description |- | style="text-align:center"| <code>g</code> |Yes: N |X = Memory[Memory[N]] |- | style="text-align:center"| <code>o</code> |Yes: N |Memory[Memory[N]] = X |- | style="text-align:center"| <code>r</code> |Yes: N |Read input into Memory[N] |- | style="text-align:center"| <code>b</code> |Yes: N |if X == 0, IC = Memory[N] |- | style="text-align:center"| <code>i</code> |Yes: N |Memory[N] += X |- | style="text-align:center"| <code>t</code> |Yes: N |Write Memory[N] into output |- | style="text-align:center"| <code>s</code> |Yes: N |X = X xor Memory[N] |- | style="text-align:center"| <code>a</code> |Yes: N |X += Memory[Memory[N]] |} ==Computational class== Due to limited amount of cells and limited possible values in cells and register, it's assumed to be [[finite-state automaton]]. ==Programs== Here are a few example programs that can be written in the GORBITSA language ===[[Cat program]]=== R T ===[[Truth-machine]]=== R O0 I255 O1 G0 T G1 B4 R B6 S1 T S0 B2 T R T B255 S1 T S0 B3 ===Subtraction=== R O0 R O1 G0 I255 O0 G1 I255 O1 B13 S0 B4 G0 T S255 O255 r0 R s255 I1 A0 T ===Hello World=== S72 T S101 T S108 T T S111 T S32 T S87 T S111 T S114 T S108 T S100 T =Implementations= {| class="wikitable" !Language !ROM-Mode !RAM-Mode !Authors !Link |- | Python | Yes | No | * [[User:Geek_Joystick|Geek_Joystick]] * TwistedLlama | https://py3.codeskulptor.org/#user305_Zn9htVoaKKlj4OY.py |- | Node.JS | Yes | Yes | * [[User:ZippyMagician|ZippyMagician]] | https://repl.it/@ZippyMagician/GORBITSA |- | JavaScript | Yes | No | * Sir Felix Delazar | https://sirfelixdelazar.github.io/GORBITSA/ |- | C | Yes | Yes | * [[User:X39|X39]] | https://repl.it/@killerx29/EsoLang-GORBITSA#main.c |} [[Category:Languages]] [[Category:2020]] [[Category:Implemented]] [[Category:Low-level]] [[Category:Unknown computational class]]'
New page wikitext, after the edit (new_wikitext)
'{{infobox proglang |name=GORBITSA |paradigms=imperative |author=David Barr |year=[[:Category:2020|2020]] |memsys=[[:Category:Cell-based|Cell-based]] |class=[[:Category:Unknown computational class|Unknown computational class]] |files=<code>.gbt</code>, <code>.bgbt</code> }} '''GORBITSA''' is a novelty [[esoteric programming language]] created by David Barr (aka javidx9) as a programming challenge for One Lone Coder community. It's jokingly named after one of community moderators Gorbit. It first appeared in OLC Discord server on 17th June 2020. ==Complete description of the language as initially provided== Memory = 256 unsigned 8-bit cells X = unsigned 8-bit register Program counter starts at 0 256 program "instruction" slots G = GRAB X, N // Read X from mem[N] O = OFFER X, N // Write X to mem[N] R = RECEIVE X // Reads from input stream into X B = BRANCH X == 0, N // If X == 0, goto instruction N I = INCREASE X, N // Adds N to X register T = TRANSMIT X // Writes X to output stream S = SET X <- N // Set X explicitly to N A = ADD X, N // Adds mem[N] to X register g = GRAB X, [N] // Read X from mem[mem[N]] o = OFFER X, [N] // Write X to mem[mem[N]] r = RECEIVE [N] // Reads from input stream into mem[N] b = BRANCH X == 0, [N] // If X == 0, goto instruction mem[N] i = INCREASE [N], X // mem[N] = mem[N] + X t = TRANSMIT [N] // Writes to output stream mem[N] s = SET X <- X XOR [N] // Performs logic X XOR mem[N], stores in X a = ADD X, [N] // Adds mem[mem[N]] to X register GORBIT-ROM - Program stream is in external memory GORBIT-RAM - Program stream is in memory, each instruction is 2 bytes, therefore PC+=2 per op Example syntax R O201 R O202 S0 O203 G202 A202 O202 G201 I255 O201 B6 G202 T First implementation will likely appear in coming days and will be linked here. ==Language overview== GORBITSA operates on array of 256 8-bit cells (Memory) and single 8-bit register (X).<br> Instruction are provided in linear format, up to 256 instructions (slots 0-255). Current instruction is tracked by instruction counter (IC). At the beginning IC is 0. In each step instruction pointed by IC is read and executed. If instruction doesn't modify IC, the IC is incremented.<br> If IC points after last instruction, it is implementation-defined whether execution halts or continues.<br> If IC increments from 255, it is implementation-defined whether execution halts, or IC rolls over to 0. Whether input and/or output are in a form of a number or ascii character is implementation-defined. All instructions are made out of single-letter command code and up to 1 number parameter. {| class="wikitable" !Command code !Parameter !Description |- | style="text-align:center"| <code>G</code> |Yes: N |X = Memory[N] |- | style="text-align:center"| <code>O</code> |Yes: N |Memory[N] = X |- | style="text-align:center"| <code>R</code> |No |Read input into X |- | style="text-align:center"| <code>B</code> |Yes: N |if X == 0, IC = N |- | style="text-align:center"| <code>I</code> |Yes: N |X += N |- | style="text-align:center"| <code>T</code> |No |Write X into output |- | style="text-align:center"| <code>S</code> |Yes: N |X = N |- | style="text-align:center"| <code>A</code> |Yes: N |X += Memory[N] |} ==Expansions== ===gorbitsa=== After limitations of base language were recognized, the instruction set was expanded to lower case letters.<br> New set allows direct I/O with memory, runtime computed goto destination and XOR. {| class="wikitable" !Command code !Parameter !Description |- | style="text-align:center"| <code>g</code> |Yes: N |X = Memory[Memory[N]] |- | style="text-align:center"| <code>o</code> |Yes: N |Memory[Memory[N]] = X |- | style="text-align:center"| <code>r</code> |Yes: N |Read input into Memory[N] |- | style="text-align:center"| <code>b</code> |Yes: N |if X == 0, IC = Memory[N] |- | style="text-align:center"| <code>i</code> |Yes: N |Memory[N] += X |- | style="text-align:center"| <code>t</code> |Yes: N |Write Memory[N] into output |- | style="text-align:center"| <code>s</code> |Yes: N |X = X xor Memory[N] |- | style="text-align:center"| <code>a</code> |Yes: N |X += Memory[Memory[N]] |} ==Computational class== Due to limited amount of cells and limited possible values in cells and register, it's assumed to be [[finite-state automaton]]. ==Programs== Here are a few example programs that can be written in the GORBITSA language ===[[Cat program]]=== R T ===[[Truth-machine]]=== R O0 I255 O1 G0 T G1 B4 R B6 S1 T S0 B2 T R T B255 S1 T S0 B3 ===Subtraction=== R O0 R O1 G0 I255 O0 G1 I255 O1 B13 S0 B4 G0 T S255 O255 r0 R s255 I1 A0 T ===[For loop]=== The first parameter is the number of times the loop will be executed S5 O0 S35 T G0 I255 O0 B10 S0 B2 S0 T ===Hello World=== S72 T S101 T S108 T T S111 T S32 T S87 T S111 T S114 T S108 T S100 T =Implementations= {| class="wikitable" !Language !ROM-Mode !RAM-Mode !Authors !Link |- | Python | Yes | No | * [[User:Geek_Joystick|Geek_Joystick]] * TwistedLlama | https://py3.codeskulptor.org/#user305_Zn9htVoaKKlj4OY.py |- | Node.JS | Yes | Yes | * [[User:ZippyMagician|ZippyMagician]] | https://repl.it/@ZippyMagician/GORBITSA |- | JavaScript | Yes | No | * Sir Felix Delazar | https://sirfelixdelazar.github.io/GORBITSA/ |- | C | Yes | Yes | * [[User:X39|X39]] | https://repl.it/@killerx29/EsoLang-GORBITSA#main.c |} [[Category:Languages]] [[Category:2020]] [[Category:Implemented]] [[Category:Low-level]] [[Category:Unknown computational class]]'
Unified diff of changes made by edit (edit_diff)
'@@ -158,4 +158,8 @@ S255 O255 r0 R s255 I1 A0 T + +===[For loop]=== +The first parameter is the number of times the loop will be executed + S5 O0 S35 T G0 I255 O0 B10 S0 B2 S0 T ===Hello World=== '
New page size (new_size)
5622
Old page size (old_size)
5496
Lines added in edit (added_lines)
[ 0 => '', 1 => '===[For loop]===', 2 => 'The first parameter is the number of times the loop will be executed', 3 => ' S5 O0 S35 T G0 I255 O0 B10 S0 B2 S0 T' ]
Unix timestamp of change (timestamp)
1592482700