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 8,968

17:09, 15 May 2025: Henry (talk | contribs) triggered filter 16, performing the action "edit" on PNPL. Actions taken: Disallow; Filter description: the "User:" must not be hidden on links to userspace (examine)

Changes made in edit

{{infobox proglang
|name=Prime Number Programming Language
|paradigms=imperative
|author=[[User:Henry|Henry Díaz Bordón]]
|year=[[:Category:2025|2025]]
|typesys=
|memsys=[[:Category:Cell-based|Cell-based]]
|dimensions=one-dimensional
|class=[[:Category:Turing complete|Turing complete]]
|refimpl=[https://github.com/h3nry-d1az/pnpl PNPL]
|influence=[[Brainfuck]]
|influenced=
|files=<code>.p</code>, <code>.pn</code>
}} '''Prime Number Programming Language (PNPL)''' is a [[Brainfuck]]-equivalent esoteric language that revolves around prime numbers and the uniqueness of their products.

==Language Overview==
In PNPL, all valid programs are natural numbers, whose behavior is determined by the fundamental theorem of arithmetic (FTA henceforth).

Recall that, because of FTA, every positive integer can be expressed as a unique product of distinct prime numbers raised to integer exponents; since the set of prime numbers is totally ordered, the first prime in its factorization will denote the first instruction, and its exponent the operation to be performed.

There are a total of 8 possible commands in PNPL; therefore, any correct PNPL program <math>P</math> is of the form
: <math display="block">P=2^{\alpha_1} 3^{\alpha_2} 5^{\alpha_3} \cdots {p_n}^{\alpha_n},\quad\text{where}\quad\alpha_i\in\{0,1,2,3,4,5,6,7,8\}</math>

===Command List===

{| class="wikitable"
!Exponent
!Description
|-
| style="text-align:center"| 1
|Moves the memory pointer to the right.
|-
| style="text-align:center"| 2
|Moves the memory pointer to the left.
|-
| style="text-align:center"| 3
|Increases the memory cell at the pointer by one.
|-
| style="text-align:center"| 4
|Decreases the memory cell at the pointer by one.
|-
| style="text-align:center"| 5
|Jumps past the matching loop ending (exponent 6) if the cell at the pointer is 0.
|-
| style="text-align:center"| 6
|Jumps back to the matching loop start (exponent 5) if the cell at the pointer is nonzero.
|-
| style="text-align:center"| 7
|Inputs a character and stores it in the cell at the pointer.
|-
| style="text-align:center"| 8
|Outputs the character encoded by the cell at the pointer.
|}

<!---==Example Programs==

In Captive, every text, regardless of its content, is a program. If it has zero letters corresponding to commands (i.e. if it is written in Prisoner’s Constraint), then it is an empty program, producing nothing. Most texts over a line or two will do something. If they don't produce output, they at least have internal activity: loading data and manipulating it in some way.

===Hi===
This program outputs "Hi":

I emailed again, open to yield payment on that tax.

As does this one:

Including crew, part owners, many inland reapers, we see systematic visits too.

Here they are stripped of non-significant characters:

ldgptyldpytttt

===Moby Dick===
The first sentence of Moby Dick is <code>Call me Ishmael.</code> of which <code>llhl</code> is a Captive program. This program has no output but loads 24 to the stack.

Here is the first paragraph of Moby Dick:

Call me Ishmael. Some years ago—never mind how long precisely—having little or no money in my purse, and nothing particular to interest me on shore, I thought I would sail about a little and see the watery part of the world. It is a way I have of driving off the spleen and regulating the circulation. Whenever I find myself growing grim about the mouth; whenever it is a damp, drizzly November in my soul; whenever I find myself involuntarily pausing before coffin warehouses, and bringing up the rear of every funeral I meet; and especially whenever my hypos get such an upper hand of me, that it requires a strong moral principle to prevent me from deliberately stepping into the street, and methodically knocking people's hats off—then, I account it high time to get to sea as soon as I can. This is my substitute for pistol and ball. With a philosophical flourish Cato throws himself upon his sword; I quietly take to the ship. There is nothing surprising in this. If they but knew it, almost all men in their degree, some time or other, cherish very nearly the same feelings towards the ocean with me.

Stripped to the significant characters:

llhlgdhlgplhglttlpdthgptlttththghtldlbtlttldthtptthldthdgthpldgltgthlthdlgggbtththhtdpdlblhdlltlpgbhdbg
gpthltdpllhhpgthpphdthttqtglppltptdlbtltppgtthttdthdllkkgpplhtthtthghttgtthbtttptldbllthphlphllhtthhlphd
qtltktthhphthgpgththbtktltllthdgtthhhlthlgtdthth

When run as Captive, it has this output:

QQQ,Q񾤀,ᦡ񾤀�ᦡ񾤀,ᦡㄨQQ

==Alternatives==

While Captive has a set lexicon, other lexicons can be created that will similarly result in unintentional programs. --->

<!---==To Do==

* There is no reason this need work for Latin characters only. Expand to include lower-case letters in other character sets
* Add detection for other types of trivial infinite loops (e.g. repeatedly adding the same value to the stack)
* What would a quine (other than the null-quine) look like in this language?--->

==History==

Originally, this language was named pirho (<math>\Pi_\rho</math>) and was published as my final project for the ESTALMAT project. Although its foundations in the FTA were the same, its syntax was highly troublesome, thus, PNPL is meant to be a reimagination of the concept.

==External resources==
* [https://github.com/h3nry-d1az/pnpl PNPL interpreter written in Python]

[[Category:Languages]]
[[Category:Turing tarpits]]
[[Category:Cell-based]]
[[Category:Implemented]]
[[Category:Brainfuck]]
[[Category:Turing complete]]
[[Category:2025]]

Action parameters

VariableValue
Edit count of the user (user_editcount)
0
Name of the user account (user_name)
'Henry'
Age of the user account (user_age)
74218
Page ID (page_id)
0
Page namespace (page_namespace)
0
Page title (without namespace) (page_title)
'PNPL'
Full page title (page_prefixedtitle)
'PNPL'
Action (action)
'edit'
Edit summary/reason (summary)
''
Old content model (old_content_model)
''
New content model (new_content_model)
'wikitext'
Old page wikitext, before the edit (old_wikitext)
''
New page wikitext, after the edit (new_wikitext)
'{{infobox proglang |name=Prime Number Programming Language |paradigms=imperative |author=[[User:Henry|Henry Díaz Bordón]] |year=[[:Category:2025|2025]] |typesys= |memsys=[[:Category:Cell-based|Cell-based]] |dimensions=one-dimensional |class=[[:Category:Turing complete|Turing complete]] |refimpl=[https://github.com/h3nry-d1az/pnpl PNPL] |influence=[[Brainfuck]] |influenced= |files=<code>.p</code>, <code>.pn</code> }} '''Prime Number Programming Language (PNPL)''' is a [[Brainfuck]]-equivalent esoteric language that revolves around prime numbers and the uniqueness of their products. ==Language Overview== In PNPL, all valid programs are natural numbers, whose behavior is determined by the fundamental theorem of arithmetic (FTA henceforth). Recall that, because of FTA, every positive integer can be expressed as a unique product of distinct prime numbers raised to integer exponents; since the set of prime numbers is totally ordered, the first prime in its factorization will denote the first instruction, and its exponent the operation to be performed. There are a total of 8 possible commands in PNPL; therefore, any correct PNPL program <math>P</math> is of the form : <math display="block">P=2^{\alpha_1} 3^{\alpha_2} 5^{\alpha_3} \cdots {p_n}^{\alpha_n},\quad\text{where}\quad\alpha_i\in\{0,1,2,3,4,5,6,7,8\}</math> ===Command List=== {| class="wikitable" !Exponent !Description |- | style="text-align:center"| 1 |Moves the memory pointer to the right. |- | style="text-align:center"| 2 |Moves the memory pointer to the left. |- | style="text-align:center"| 3 |Increases the memory cell at the pointer by one. |- | style="text-align:center"| 4 |Decreases the memory cell at the pointer by one. |- | style="text-align:center"| 5 |Jumps past the matching loop ending (exponent 6) if the cell at the pointer is 0. |- | style="text-align:center"| 6 |Jumps back to the matching loop start (exponent 5) if the cell at the pointer is nonzero. |- | style="text-align:center"| 7 |Inputs a character and stores it in the cell at the pointer. |- | style="text-align:center"| 8 |Outputs the character encoded by the cell at the pointer. |} <!---==Example Programs== In Captive, every text, regardless of its content, is a program. If it has zero letters corresponding to commands (i.e. if it is written in Prisoner’s Constraint), then it is an empty program, producing nothing. Most texts over a line or two will do something. If they don't produce output, they at least have internal activity: loading data and manipulating it in some way. ===Hi=== This program outputs "Hi": I emailed again, open to yield payment on that tax. As does this one: Including crew, part owners, many inland reapers, we see systematic visits too. Here they are stripped of non-significant characters: ldgptyldpytttt ===Moby Dick=== The first sentence of Moby Dick is <code>Call me Ishmael.</code> of which <code>llhl</code> is a Captive program. This program has no output but loads 24 to the stack. Here is the first paragraph of Moby Dick: Call me Ishmael. Some years ago—never mind how long precisely—having little or no money in my purse, and nothing particular to interest me on shore, I thought I would sail about a little and see the watery part of the world. It is a way I have of driving off the spleen and regulating the circulation. Whenever I find myself growing grim about the mouth; whenever it is a damp, drizzly November in my soul; whenever I find myself involuntarily pausing before coffin warehouses, and bringing up the rear of every funeral I meet; and especially whenever my hypos get such an upper hand of me, that it requires a strong moral principle to prevent me from deliberately stepping into the street, and methodically knocking people's hats off—then, I account it high time to get to sea as soon as I can. This is my substitute for pistol and ball. With a philosophical flourish Cato throws himself upon his sword; I quietly take to the ship. There is nothing surprising in this. If they but knew it, almost all men in their degree, some time or other, cherish very nearly the same feelings towards the ocean with me. Stripped to the significant characters: llhlgdhlgplhglttlpdthgptlttththghtldlbtlttldthtptthldthdgthpldgltgthlthdlgggbtththhtdpdlblhdlltlpgbhdbg gpthltdpllhhpgthpphdthttqtglppltptdlbtltppgtthttdthdllkkgpplhtthtthghttgtthbtttptldbllthphlphllhtthhlphd qtltktthhphthgpgththbtktltllthdgtthhhlthlgtdthth When run as Captive, it has this output: QQQ,Q񾤀,ᦡ񾤀�ᦡ񾤀,ᦡㄨQQ ==Alternatives== While Captive has a set lexicon, other lexicons can be created that will similarly result in unintentional programs. ---> <!---==To Do== * There is no reason this need work for Latin characters only. Expand to include lower-case letters in other character sets * Add detection for other types of trivial infinite loops (e.g. repeatedly adding the same value to the stack) * What would a quine (other than the null-quine) look like in this language?---> ==History== Originally, this language was named pirho (<math>\Pi_\rho</math>) and was published as my final project for the ESTALMAT project. Although its foundations in the FTA were the same, its syntax was highly troublesome, thus, PNPL is meant to be a reimagination of the concept. ==External resources== * [https://github.com/h3nry-d1az/pnpl PNPL interpreter written in Python] [[Category:Languages]] [[Category:Turing tarpits]] [[Category:Cell-based]] [[Category:Implemented]] [[Category:Brainfuck]] [[Category:Turing complete]] [[Category:2025]]'
Unified diff of changes made by edit (edit_diff)
'@@ -1,0 +1,112 @@ +{{infobox proglang +|name=Prime Number Programming Language +|paradigms=imperative +|author=[[User:Henry|Henry Díaz Bordón]] +|year=[[:Category:2025|2025]] +|typesys= +|memsys=[[:Category:Cell-based|Cell-based]] +|dimensions=one-dimensional +|class=[[:Category:Turing complete|Turing complete]] +|refimpl=[https://github.com/h3nry-d1az/pnpl PNPL] +|influence=[[Brainfuck]] +|influenced= +|files=<code>.p</code>, <code>.pn</code> +}} '''Prime Number Programming Language (PNPL)''' is a [[Brainfuck]]-equivalent esoteric language that revolves around prime numbers and the uniqueness of their products. + +==Language Overview== +In PNPL, all valid programs are natural numbers, whose behavior is determined by the fundamental theorem of arithmetic (FTA henceforth). + +Recall that, because of FTA, every positive integer can be expressed as a unique product of distinct prime numbers raised to integer exponents; since the set of prime numbers is totally ordered, the first prime in its factorization will denote the first instruction, and its exponent the operation to be performed. + +There are a total of 8 possible commands in PNPL; therefore, any correct PNPL program <math>P</math> is of the form +: <math display="block">P=2^{\alpha_1} 3^{\alpha_2} 5^{\alpha_3} \cdots {p_n}^{\alpha_n},\quad\text{where}\quad\alpha_i\in\{0,1,2,3,4,5,6,7,8\}</math> + +===Command List=== + +{| class="wikitable" +!Exponent +!Description +|- +| style="text-align:center"| 1 +|Moves the memory pointer to the right. +|- +| style="text-align:center"| 2 +|Moves the memory pointer to the left. +|- +| style="text-align:center"| 3 +|Increases the memory cell at the pointer by one. +|- +| style="text-align:center"| 4 +|Decreases the memory cell at the pointer by one. +|- +| style="text-align:center"| 5 +|Jumps past the matching loop ending (exponent 6) if the cell at the pointer is 0. +|- +| style="text-align:center"| 6 +|Jumps back to the matching loop start (exponent 5) if the cell at the pointer is nonzero. +|- +| style="text-align:center"| 7 +|Inputs a character and stores it in the cell at the pointer. +|- +| style="text-align:center"| 8 +|Outputs the character encoded by the cell at the pointer. +|} + +<!---==Example Programs== + +In Captive, every text, regardless of its content, is a program. If it has zero letters corresponding to commands (i.e. if it is written in Prisoner’s Constraint), then it is an empty program, producing nothing. Most texts over a line or two will do something. If they don't produce output, they at least have internal activity: loading data and manipulating it in some way. + +===Hi=== +This program outputs "Hi": + + I emailed again, open to yield payment on that tax. + +As does this one: + + Including crew, part owners, many inland reapers, we see systematic visits too. + +Here they are stripped of non-significant characters: + + ldgptyldpytttt + +===Moby Dick=== +The first sentence of Moby Dick is <code>Call me Ishmael.</code> of which <code>llhl</code> is a Captive program. This program has no output but loads 24 to the stack. + +Here is the first paragraph of Moby Dick: + + Call me Ishmael. Some years ago—never mind how long precisely—having little or no money in my purse, and nothing particular to interest me on shore, I thought I would sail about a little and see the watery part of the world. It is a way I have of driving off the spleen and regulating the circulation. Whenever I find myself growing grim about the mouth; whenever it is a damp, drizzly November in my soul; whenever I find myself involuntarily pausing before coffin warehouses, and bringing up the rear of every funeral I meet; and especially whenever my hypos get such an upper hand of me, that it requires a strong moral principle to prevent me from deliberately stepping into the street, and methodically knocking people's hats off—then, I account it high time to get to sea as soon as I can. This is my substitute for pistol and ball. With a philosophical flourish Cato throws himself upon his sword; I quietly take to the ship. There is nothing surprising in this. If they but knew it, almost all men in their degree, some time or other, cherish very nearly the same feelings towards the ocean with me. + +Stripped to the significant characters: + + llhlgdhlgplhglttlpdthgptlttththghtldlbtlttldthtptthldthdgthpldgltgthlthdlgggbtththhtdpdlblhdlltlpgbhdbg + gpthltdpllhhpgthpphdthttqtglppltptdlbtltppgtthttdthdllkkgpplhtthtthghttgtthbtttptldbllthphlphllhtthhlphd + qtltktthhphthgpgththbtktltllthdgtthhhlthlgtdthth + +When run as Captive, it has this output: + + QQQ,Q񾤀,ᦡ񾤀�ᦡ񾤀,ᦡㄨQQ + +==Alternatives== + +While Captive has a set lexicon, other lexicons can be created that will similarly result in unintentional programs. ---> + +<!---==To Do== + +* There is no reason this need work for Latin characters only. Expand to include lower-case letters in other character sets +* Add detection for other types of trivial infinite loops (e.g. repeatedly adding the same value to the stack) +* What would a quine (other than the null-quine) look like in this language?---> + +==History== + +Originally, this language was named pirho (<math>\Pi_\rho</math>) and was published as my final project for the ESTALMAT project. Although its foundations in the FTA were the same, its syntax was highly troublesome, thus, PNPL is meant to be a reimagination of the concept. + +==External resources== +* [https://github.com/h3nry-d1az/pnpl PNPL interpreter written in Python] + +[[Category:Languages]] +[[Category:Turing tarpits]] +[[Category:Cell-based]] +[[Category:Implemented]] +[[Category:Brainfuck]] +[[Category:Turing complete]] +[[Category:2025]] '
New page size (new_size)
5580
Old page size (old_size)
0
Lines added in edit (added_lines)
[ 0 => '{{infobox proglang', 1 => '|name=Prime Number Programming Language', 2 => '|paradigms=imperative', 3 => '|author=[[User:Henry|Henry Díaz Bordón]]', 4 => '|year=[[:Category:2025|2025]]', 5 => '|typesys=', 6 => '|memsys=[[:Category:Cell-based|Cell-based]]', 7 => '|dimensions=one-dimensional', 8 => '|class=[[:Category:Turing complete|Turing complete]]', 9 => '|refimpl=[https://github.com/h3nry-d1az/pnpl PNPL]', 10 => '|influence=[[Brainfuck]]', 11 => '|influenced=', 12 => '|files=<code>.p</code>, <code>.pn</code>', 13 => '}} '''Prime Number Programming Language (PNPL)''' is a [[Brainfuck]]-equivalent esoteric language that revolves around prime numbers and the uniqueness of their products.', 14 => '', 15 => '==Language Overview==', 16 => 'In PNPL, all valid programs are natural numbers, whose behavior is determined by the fundamental theorem of arithmetic (FTA henceforth).', 17 => '', 18 => 'Recall that, because of FTA, every positive integer can be expressed as a unique product of distinct prime numbers raised to integer exponents; since the set of prime numbers is totally ordered, the first prime in its factorization will denote the first instruction, and its exponent the operation to be performed.', 19 => '', 20 => 'There are a total of 8 possible commands in PNPL; therefore, any correct PNPL program <math>P</math> is of the form', 21 => ': <math display="block">P=2^{\alpha_1} 3^{\alpha_2} 5^{\alpha_3} \cdots {p_n}^{\alpha_n},\quad\text{where}\quad\alpha_i\in\{0,1,2,3,4,5,6,7,8\}</math>', 22 => '', 23 => '===Command List===', 24 => '', 25 => '{| class="wikitable"', 26 => '!Exponent', 27 => '!Description', 28 => '|-', 29 => '| style="text-align:center"| 1', 30 => '|Moves the memory pointer to the right.', 31 => '|-', 32 => '| style="text-align:center"| 2', 33 => '|Moves the memory pointer to the left.', 34 => '|-', 35 => '| style="text-align:center"| 3', 36 => '|Increases the memory cell at the pointer by one.', 37 => '|-', 38 => '| style="text-align:center"| 4', 39 => '|Decreases the memory cell at the pointer by one.', 40 => '|-', 41 => '| style="text-align:center"| 5', 42 => '|Jumps past the matching loop ending (exponent 6) if the cell at the pointer is 0.', 43 => '|-', 44 => '| style="text-align:center"| 6', 45 => '|Jumps back to the matching loop start (exponent 5) if the cell at the pointer is nonzero.', 46 => '|-', 47 => '| style="text-align:center"| 7', 48 => '|Inputs a character and stores it in the cell at the pointer.', 49 => '|-', 50 => '| style="text-align:center"| 8', 51 => '|Outputs the character encoded by the cell at the pointer.', 52 => '|}', 53 => '', 54 => '<!---==Example Programs==', 55 => '', 56 => 'In Captive, every text, regardless of its content, is a program. If it has zero letters corresponding to commands (i.e. if it is written in Prisoner’s Constraint), then it is an empty program, producing nothing. Most texts over a line or two will do something. If they don't produce output, they at least have internal activity: loading data and manipulating it in some way.', 57 => '', 58 => '===Hi===', 59 => 'This program outputs "Hi":', 60 => '', 61 => ' I emailed again, open to yield payment on that tax.', 62 => '', 63 => 'As does this one:', 64 => '', 65 => ' Including crew, part owners, many inland reapers, we see systematic visits too.', 66 => '', 67 => 'Here they are stripped of non-significant characters:', 68 => '', 69 => ' ldgptyldpytttt', 70 => '', 71 => '===Moby Dick===', 72 => 'The first sentence of Moby Dick is <code>Call me Ishmael.</code> of which <code>llhl</code> is a Captive program. This program has no output but loads 24 to the stack. ', 73 => '', 74 => 'Here is the first paragraph of Moby Dick:', 75 => '', 76 => ' Call me Ishmael. Some years ago—never mind how long precisely—having little or no money in my purse, and nothing particular to interest me on shore, I thought I would sail about a little and see the watery part of the world. It is a way I have of driving off the spleen and regulating the circulation. Whenever I find myself growing grim about the mouth; whenever it is a damp, drizzly November in my soul; whenever I find myself involuntarily pausing before coffin warehouses, and bringing up the rear of every funeral I meet; and especially whenever my hypos get such an upper hand of me, that it requires a strong moral principle to prevent me from deliberately stepping into the street, and methodically knocking people's hats off—then, I account it high time to get to sea as soon as I can. This is my substitute for pistol and ball. With a philosophical flourish Cato throws himself upon his sword; I quietly take to the ship. There is nothing surprising in this. If they but knew it, almost all men in their degree, some time or other, cherish very nearly the same feelings towards the ocean with me. ', 77 => '', 78 => 'Stripped to the significant characters:', 79 => '', 80 => ' llhlgdhlgplhglttlpdthgptlttththghtldlbtlttldthtptthldthdgthpldgltgthlthdlgggbtththhtdpdlblhdlltlpgbhdbg', 81 => ' gpthltdpllhhpgthpphdthttqtglppltptdlbtltppgtthttdthdllkkgpplhtthtthghttgtthbtttptldbllthphlphllhtthhlphd', 82 => ' qtltktthhphthgpgththbtktltllthdgtthhhlthlgtdthth', 83 => '', 84 => 'When run as Captive, it has this output:', 85 => '', 86 => ' QQQ,Q񾤀,ᦡ񾤀�ᦡ񾤀,ᦡㄨQQ', 87 => '', 88 => '==Alternatives==', 89 => '', 90 => 'While Captive has a set lexicon, other lexicons can be created that will similarly result in unintentional programs. --->', 91 => '', 92 => '<!---==To Do==', 93 => '', 94 => '* There is no reason this need work for Latin characters only. Expand to include lower-case letters in other character sets', 95 => '* Add detection for other types of trivial infinite loops (e.g. repeatedly adding the same value to the stack)', 96 => '* What would a quine (other than the null-quine) look like in this language?--->', 97 => '', 98 => '==History==', 99 => '', 100 => 'Originally, this language was named pirho (<math>\Pi_\rho</math>) and was published as my final project for the ESTALMAT project. Although its foundations in the FTA were the same, its syntax was highly troublesome, thus, PNPL is meant to be a reimagination of the concept.', 101 => '', 102 => '==External resources==', 103 => '* [https://github.com/h3nry-d1az/pnpl PNPL interpreter written in Python] ', 104 => '', 105 => '[[Category:Languages]]', 106 => '[[Category:Turing tarpits]]', 107 => '[[Category:Cell-based]]', 108 => '[[Category:Implemented]]', 109 => '[[Category:Brainfuck]] ', 110 => '[[Category:Turing complete]]', 111 => '[[Category:2025]]' ]
Unix timestamp of change (timestamp)
'1747328975'