Abuse filter log

Abuse Filter navigation (Home | Recent filter changes | Examine past edits | Abuse log)
Jump to navigation Jump to search
Details for log entry 9,239

11:09, 8 August 2025: BrainFuckGirl (talk | contribs) triggered filter 16, performing the action "edit" on Beam. Actions taken: Disallow; Filter description: the "User:" must not be hidden on links to userspace (examine)

Changes made in edit

>+@@+++@>-!'''>`++++++++++)v
>+@@+++@>-!'''>`++++++++++)v
@+++<
@+++<
</pre>

=== [[Hello, world!]] ===
Prints <code>Hello, world!</code> (by [[User:BrainFuckGirl|BrainFuckGirl]])

<pre>
'''''>`++++++++++++++)++@'''-v
v''@+++@@+++++++@(++++++++++`<
>-!'>`++++++++++++++)++@-----v
v------------(+++`<'S@-------<
>@--------@+++@------@-------v
H____@+++(++++++`<'''''!-<+@-<
</pre>
</pre>


Action parameters

VariableValue
Edit count of the user (user_editcount)
62
Name of the user account (user_name)
'BrainFuckGirl'
Age of the user account (user_age)
21861255
Page ID (page_id)
8305
Page namespace (page_namespace)
0
Page title (without namespace) (page_title)
'Beam'
Full page title (page_prefixedtitle)
'Beam'
Action (action)
'edit'
Edit summary/reason (summary)
'/* Example programs */ "Hello, world!" program'
Old content model (old_content_model)
'wikitext'
New content model (new_content_model)
'wikitext'
Old page wikitext, before the edit (old_wikitext)
''''Beam''' is yet another two dimensional language thought of around mid-2010 by [[User:Feuermonster]] and implemented and published in 2012. * The start-up direction is right. * There is a beam which holds an 8bit unsigned value. * Also there is a store which can hold an arbitrary large positive value. If it drops below zero it's wrapped to 255. * Then there is an infinite amount of 8bit memory cells. * The implementation uses NUL (\0) if no character could be read from stdin. * Every character which is not an instruction is a NOP. == Instructions == <pre> > Set the direction to right < Set the direction to left ^ Set the direction to up v Set the direction to down + Increment the beam - Decrement the beam @ Output the beam as character : Output the beam as number / Redirect the control flow like this: | ----/ /--- | (90 degrees to the left) \ Redirect the control flow like this: | -----\ \---- | (90 degrees to the right) ! If the beam is not 0, reverse the control flow. (It bounces off the !) ? If the beam is 0, reverse the control flow. (It bounces off the ?) | Reverse the control flow if coming from a right/left-direction _ Reverse the control flow if coming from a up/down-direction H stop the program S store = beam L beam = store s memory[beam] = store g store = memory[beam] P memory[store] = beam p beam = memory[store] u If beam != store change direction to up n if beam != store change direction to down ` Decrement the store ' Increment the store ) If store != 0 change direction to left ( If store != 0 change direction to right r Read character from input </pre> It should be noted, that 'u' and 'n' perform 32bit comparison: if the store exceeds 255 the comparison beam != store is always true since beam can not exceed 255. Lines are not padded to equal length. A compliant interpreter is not allowed to do this! == Example programs == === Reverse stdin === <pre> <nowiki> '> rP n ^!p'<vn(`< ^ < >'p!`>`p@ v Hnp`< ^ < </nowiki> </pre> Painfully written by hand. A faster version (thanks to [[User:Fizzie]]): <pre> <nowiki> >'p!rP(`)n>'p!`v ^ < H(`p@p`)H H </nowiki> </pre> Fastest version in the west (also thanks to [[User:Fizzie]]): <pre> <nowiki> v (>``v ! H(p`@`p)H P H ' r ' P ! >^ </nowiki> </pre> === [[Truth-machine]] === <pre> rS>@) </pre> (Expects NUL or SOH from stdin.) Codegolfed; 5 bytes. === Hello === Prints <code>Hello!</code> <pre> '''''v >`++++++++++++++)++@v v++++++@-(++++++++++`<'''< >+@@+++@>-!'''>`++++++++++)v @+++< </pre> === Even / Odd === Reads from stdin and tests if the value (ascii value) is even or odd. If it is even, it prints a zero, else a one. <pre> rv`< :u'< >-- u: </pre> === Cat === <pre> >r@nH ^ < </pre> === Compare === Reads in two ascii characters and prints out the smaller one. <pre> rP'Pr'P'P```v < H @p'''u``p''< >p-P''p-P``pu'p@ </pre> == Turing completeness == Brainfuck programs can be translated to Beam programs. This mechanism works with the 'u' instruction and marking cells to restore the store. '''Brainfuck''' <pre> ,[>+>+<<-]++++++[>--------<-]>[>.<]>. </pre> '''Beam''' (translation with the bf2beam perl script) <pre> v > v > v > v >'''rP>`p+P'p(`)uv>'>'p?-P'''p+P''p+P````p-Pv>p++++++P>`p+P'p(`)uv>'>'p?-P'''p--------P``p-Pv>''>`p+P'p(`)uv>'>'p?-P'''p@``v>''p@H > '>'p?-P' ^ > '>'p?-P' ^ > '>'p?-P' ^ ^ < ^ < ^ < </pre> == Beam constants == Constants to set the beam to a specific value (requires store to be zero.). This list is not complete. Help me! {| class="wikitable" !Number !Code !Bytes !Cycles !Cycles / Bytes !Cycles / Number |- |24 |<code><nowiki>'''>`++++++++)</nowiki></code> |14 |34 |2.42 |1.42 |- |24 |<code><nowiki>'''''>`+++++)-</nowiki></code> |14 |42 |3 |1.75 |- |25 |<code><nowiki>'''''>`+++++)</nowiki></code> |13 |41 |3.15 |1.64 |- |25 |<code><nowiki>'''>`++++++++)+</nowiki></code> |15 |35 |2.33 |1.39 |- |26 |<code><nowiki>'''''>`+++++)+</nowiki></code> |14 |42 |3 |1.61 |- |26 |<code><nowiki>'''>`+++++++++)-</nowiki></code> |16 |38 |2.38 |1.46 |- |27 |<code><nowiki>'''>`+++++++++)</nowiki></code> |15 |37 |2.46 |1.37 |- |28 |<code><nowiki>'''''''>`++++)</nowiki></code> |14 |50 |3.57 |1.78 |- |28 |<code><nowiki>'''>`+++++++++)+</nowiki></code> |16 |38 |2.38 |1.36 |- |28 |<code><nowiki>'''''>`++++++)--</nowiki></code> |16 |48 |3 |1.71 |- |} == Implementation == * [http://mroman.ch/djang_media/public/eso/Beam.java Java interpreter] (DEADLINK) * [http://eso.mroman.ch/beam/ Javascript interpreter with 2D trace] (DEADLINK) * [http://codegolf.stackexchange.com/a/57190/42545 Online (HTML/Javascript) interpreter] == Work in progress == * Finding Beam constants. * Describing some techniques to program in Beam. * WeBeam (to program webpages). Help is always welcome. == External resources == * [http://p.zem.fi/bf2beam.pl Brainfuck to Beam translation script] [[Category:Languages]] [[Category:2012]] [[Category:Cell-based]] [[Category:Implemented]] [[Category:Turing complete]] [[Category:Two-dimensional languages]]'
New page wikitext, after the edit (new_wikitext)
''''Beam''' is yet another two dimensional language thought of around mid-2010 by [[User:Feuermonster]] and implemented and published in 2012. * The start-up direction is right. * There is a beam which holds an 8bit unsigned value. * Also there is a store which can hold an arbitrary large positive value. If it drops below zero it's wrapped to 255. * Then there is an infinite amount of 8bit memory cells. * The implementation uses NUL (\0) if no character could be read from stdin. * Every character which is not an instruction is a NOP. == Instructions == <pre> > Set the direction to right < Set the direction to left ^ Set the direction to up v Set the direction to down + Increment the beam - Decrement the beam @ Output the beam as character : Output the beam as number / Redirect the control flow like this: | ----/ /--- | (90 degrees to the left) \ Redirect the control flow like this: | -----\ \---- | (90 degrees to the right) ! If the beam is not 0, reverse the control flow. (It bounces off the !) ? If the beam is 0, reverse the control flow. (It bounces off the ?) | Reverse the control flow if coming from a right/left-direction _ Reverse the control flow if coming from a up/down-direction H stop the program S store = beam L beam = store s memory[beam] = store g store = memory[beam] P memory[store] = beam p beam = memory[store] u If beam != store change direction to up n if beam != store change direction to down ` Decrement the store ' Increment the store ) If store != 0 change direction to left ( If store != 0 change direction to right r Read character from input </pre> It should be noted, that 'u' and 'n' perform 32bit comparison: if the store exceeds 255 the comparison beam != store is always true since beam can not exceed 255. Lines are not padded to equal length. A compliant interpreter is not allowed to do this! == Example programs == === Reverse stdin === <pre> <nowiki> '> rP n ^!p'<vn(`< ^ < >'p!`>`p@ v Hnp`< ^ < </nowiki> </pre> Painfully written by hand. A faster version (thanks to [[User:Fizzie]]): <pre> <nowiki> >'p!rP(`)n>'p!`v ^ < H(`p@p`)H H </nowiki> </pre> Fastest version in the west (also thanks to [[User:Fizzie]]): <pre> <nowiki> v (>``v ! H(p`@`p)H P H ' r ' P ! >^ </nowiki> </pre> === [[Truth-machine]] === <pre> rS>@) </pre> (Expects NUL or SOH from stdin.) Codegolfed; 5 bytes. === Hello === Prints <code>Hello!</code> <pre> '''''v >`++++++++++++++)++@v v++++++@-(++++++++++`<'''< >+@@+++@>-!'''>`++++++++++)v @+++< </pre> === [[Hello, world!]] === Prints <code>Hello, world!</code> (by [[User:BrainFuckGirl|BrainFuckGirl]]) <pre> '''''>`++++++++++++++)++@'''-v v''@+++@@+++++++@(++++++++++`< >-!'>`++++++++++++++)++@-----v v------------(+++`<'S@-------< >@--------@+++@------@-------v H____@+++(++++++`<'''''!-<+@-< </pre> === Even / Odd === Reads from stdin and tests if the value (ascii value) is even or odd. If it is even, it prints a zero, else a one. <pre> rv`< :u'< >-- u: </pre> === Cat === <pre> >r@nH ^ < </pre> === Compare === Reads in two ascii characters and prints out the smaller one. <pre> rP'Pr'P'P```v < H @p'''u``p''< >p-P''p-P``pu'p@ </pre> == Turing completeness == Brainfuck programs can be translated to Beam programs. This mechanism works with the 'u' instruction and marking cells to restore the store. '''Brainfuck''' <pre> ,[>+>+<<-]++++++[>--------<-]>[>.<]>. </pre> '''Beam''' (translation with the bf2beam perl script) <pre> v > v > v > v >'''rP>`p+P'p(`)uv>'>'p?-P'''p+P''p+P````p-Pv>p++++++P>`p+P'p(`)uv>'>'p?-P'''p--------P``p-Pv>''>`p+P'p(`)uv>'>'p?-P'''p@``v>''p@H > '>'p?-P' ^ > '>'p?-P' ^ > '>'p?-P' ^ ^ < ^ < ^ < </pre> == Beam constants == Constants to set the beam to a specific value (requires store to be zero.). This list is not complete. Help me! {| class="wikitable" !Number !Code !Bytes !Cycles !Cycles / Bytes !Cycles / Number |- |24 |<code><nowiki>'''>`++++++++)</nowiki></code> |14 |34 |2.42 |1.42 |- |24 |<code><nowiki>'''''>`+++++)-</nowiki></code> |14 |42 |3 |1.75 |- |25 |<code><nowiki>'''''>`+++++)</nowiki></code> |13 |41 |3.15 |1.64 |- |25 |<code><nowiki>'''>`++++++++)+</nowiki></code> |15 |35 |2.33 |1.39 |- |26 |<code><nowiki>'''''>`+++++)+</nowiki></code> |14 |42 |3 |1.61 |- |26 |<code><nowiki>'''>`+++++++++)-</nowiki></code> |16 |38 |2.38 |1.46 |- |27 |<code><nowiki>'''>`+++++++++)</nowiki></code> |15 |37 |2.46 |1.37 |- |28 |<code><nowiki>'''''''>`++++)</nowiki></code> |14 |50 |3.57 |1.78 |- |28 |<code><nowiki>'''>`+++++++++)+</nowiki></code> |16 |38 |2.38 |1.36 |- |28 |<code><nowiki>'''''>`++++++)--</nowiki></code> |16 |48 |3 |1.71 |- |} == Implementation == * [http://mroman.ch/djang_media/public/eso/Beam.java Java interpreter] (DEADLINK) * [http://eso.mroman.ch/beam/ Javascript interpreter with 2D trace] (DEADLINK) * [http://codegolf.stackexchange.com/a/57190/42545 Online (HTML/Javascript) interpreter] == Work in progress == * Finding Beam constants. * Describing some techniques to program in Beam. * WeBeam (to program webpages). Help is always welcome. == External resources == * [http://p.zem.fi/bf2beam.pl Brainfuck to Beam translation script] [[Category:Languages]] [[Category:2012]] [[Category:Cell-based]] [[Category:Implemented]] [[Category:Turing complete]] [[Category:Two-dimensional languages]]'
Unified diff of changes made by edit (edit_diff)
'@@ -119,4 +119,16 @@ >+@@+++@>-!'''>`++++++++++)v @+++< +</pre> + +=== [[Hello, world!]] === +Prints <code>Hello, world!</code> (by [[User:BrainFuckGirl|BrainFuckGirl]]) + +<pre> +'''''>`++++++++++++++)++@'''-v +v''@+++@@+++++++@(++++++++++`< +>-!'>`++++++++++++++)++@-----v +v------------(+++`<'S@-------< +>@--------@+++@------@-------v +H____@+++(++++++`<'''''!-<+@-< </pre> '
New page size (new_size)
5813
Old page size (old_size)
5510
Lines added in edit (added_lines)
[ 0 => '</pre>', 1 => '', 2 => '=== [[Hello, world!]] ===', 3 => 'Prints <code>Hello, world!</code> (by [[User:BrainFuckGirl|BrainFuckGirl]])', 4 => '', 5 => '<pre>', 6 => ''''''>`++++++++++++++)++@'''-v', 7 => 'v''@+++@@+++++++@(++++++++++`<', 8 => '>-!'>`++++++++++++++)++@-----v', 9 => 'v------------(+++`<'S@-------<', 10 => '>@--------@+++@------@-------v', 11 => 'H____@+++(++++++`<'''''!-<+@-<' ]
Unix timestamp of change (timestamp)
'1754651394'