Page namespace (page_namespace) | 0 |
Page title (without namespace) (page_title) | 'Enn' |
Full page title (page_prefixedtitle) | 'Enn' |
Old content model (old_content_model) | 'wikitext' |
New content model (new_content_model) | 'wikitext' |
Old page wikitext, before the edit (old_wikitext) | '= Enn: Executable NAND Network =
A logic-oriented esolang made by [https://github.com/las-r Nayif Ehan] in Q1 2026.
A more in-depth documentation, interpreter, and examples can be found [https://github.com/las-r/enn here].
== How Enn works ==
Every instruction in Enn does 1 of 4 things:
* Set a variable
* Output a variable
* Toggle a variable
* Check for input
The only computation given to you is the ability to use NAND.
'''IMPORTANT NOTE:''' Every program loops by default. To end a program, you must forcequit it, or use the <tt>--once</tt> argument.
== Syntax ==
=== Basic Guidelines ===
* Line breaks, indentation, and trailing spaces do not matter.
* Every instruction should be ended with <tt>;</tt>.
* Comments are padded with <tt>/</tt>.
* Variable names cannot include spaces or use the following characters: <tt>=, l, <, ></tt>
** Variable names also cannot be <tt>0</tt> or <tt>1</tt>.
=== Commands ===
==== Set a variable ====
<tt>q</tt> is the name of the variable.
<pre><nowiki>
q=;
</nowiki></pre>
Variable <tt>q</tt> is set to <tt>w</tt> NAND <tt>e</tt>. This is the only logic you can use.
<pre><nowiki>
q=w,e;
</nowiki></pre>
You can also use direct values.
<pre><nowiki>
q=w,0;
</nowiki></pre>
==== Output a value ====
<tt>q</tt> is outputted to the console. Variable outputs are inline.
<pre><nowiki>
>q;
</nowiki></pre>
An output symbol with no variable is a newline.
<pre><nowiki>
>;
</nowiki></pre>
Two output symbols perform ASCII/UTF-8 output. (v≥1.2)
<pre><nowiki>
>>q,w,e,r,t,y,u,i,o,p;
</nowiki></pre>
==== Input a value (v≥1.1) ====
<tt>k</tt> is set to whether the spacebar is actively being pressed or not.
<pre><nowiki>
<k;
</nowiki></pre>
An input symbol with no variable pauses the program until the spacebar is pressed.
<pre><nowiki>
<;
</nowiki></pre>
That's it, really.
[[Category:2026]]
[[Category:Implemented]]
[[Category:IO]]
[[Category:Binary]]
[[Category:Bounded-storage machine]]' |
New page wikitext, after the edit (new_wikitext) | '{{infobox proglang
|name=Enn
|paradigms=imperative
|author=[[:User:Las-r|Las-r]]
|year=[[:Category:2026|2026]]
|class=[[:Category:Bounded-storage machine|Bounded-storage machine]]
|majorimpl=[https://github.com/las-r/enn GitHub]
|files=<code>.enn</code>
}}
= Enn: Executable NAND Network =
A logic-oriented esolang made by [https://github.com/las-r Nayif Ehan] in Q1 2026.
A more in-depth documentation, interpreter, and examples can be found [https://github.com/las-r/enn here].
== How Enn works ==
Every instruction in Enn does 1 of 4 things:
* Set a variable
* Output a variable
* Toggle a variable
* Check for input
The only computation given to you is the ability to use NAND.
'''IMPORTANT NOTE:''' Every program loops by default. To end a program, you must forcequit it, or use the <tt>--once</tt> argument.
== Syntax ==
=== Basic Guidelines ===
* Line breaks, indentation, and trailing spaces do not matter.
* Every instruction should be ended with <tt>;</tt>.
* Comments are padded with <tt>/</tt>.
* Variable names cannot include spaces or use the following characters: <tt>=, l, <, ></tt>
** Variable names also cannot be <tt>0</tt> or <tt>1</tt>.
=== Commands ===
==== Set a variable ====
<tt>q</tt> is the name of the variable.
<pre><nowiki>
q=;
</nowiki></pre>
Variable <tt>q</tt> is set to <tt>w</tt> NAND <tt>e</tt>. This is the only logic you can use.
<pre><nowiki>
q=w,e;
</nowiki></pre>
You can also use direct values.
<pre><nowiki>
q=w,0;
</nowiki></pre>
==== Output a value ====
<tt>q</tt> is outputted to the console. Variable outputs are inline.
<pre><nowiki>
>q;
</nowiki></pre>
An output symbol with no variable is a newline.
<pre><nowiki>
>;
</nowiki></pre>
Two output symbols perform ASCII/UTF-8 output. (v≥1.2)
<pre><nowiki>
>>q,w,e,r,t,y,u,i,o,p;
</nowiki></pre>
==== Input a value (v≥1.1) ====
<tt>k</tt> is set to whether the spacebar is actively being pressed or not.
<pre><nowiki>
<k;
</nowiki></pre>
An input symbol with no variable pauses the program until the spacebar is pressed.
<pre><nowiki>
<;
</nowiki></pre>
That's it, really.
[[Category:2026]]
[[Category:Implemented]]
[[Category:IO]]
[[Category:Binary]]
[[Category:Bounded-storage machine]]' |
Lines added in edit (added_lines) | [
0 => '{{infobox proglang',
1 => '|name=Enn',
2 => '|paradigms=imperative',
3 => '|author=[[:User:Las-r|Las-r]]',
4 => '|year=[[:Category:2026|2026]]',
5 => '|class=[[:Category:Bounded-storage machine|Bounded-storage machine]]',
6 => '|majorimpl=[https://github.com/las-r/enn GitHub]',
7 => '|files=<code>.enn</code>',
8 => '}}',
9 => ''
] |