New page wikitext, after the edit (new_wikitext) | '[[Interpriterlol|InterpriterLol]] is a programming language designed and written by [[User:Zlfp|Zlfp]], that is designed to look dumb and feel dumb, [https://en.wikipedia.org/wiki/Yeti yet], [https://en.wikipedia.org/wiki/Turing_completeness turing complete]
=Commands=
'''authors note, i have a [https://en.wikipedia.org/wiki/Yeti yeti] in my basement that i cant get rid of'''
so, the commands in [[Interpriterlol|InterpriterLol]] are nothing really special, [https://en.wikipedia.org/wiki/Yeti yet], not standart. (only by naming conventions)
{| class="wikitable"
|-
! name !! args !! what it does
|-
| write || value:
*String
*number
*List
*Reference
|| writes out the value into the terminal (or wherever you're running this)
|-
| goto || value:
*Number (without a fractional part (or .0))
|| goes to the line specified in the value (note that the lines start with 0)
|-
| get || value:
*String
|| requests a string from the user with the value as what it asks
|-
| getnum || value:
*String
|| requests a number from the user with the value as what it asks
|}
=References (not the links at the end, but the refernces in programming)=
so, a Reference is a pointer, but high level, so, what it basically does, is makes a variable be setable by a variable. so, for example, if b is a reference to a (denoted like <code>~a</code>), then setting b would reset a instead, and you need to use <code>~=</code> to reset the value of b.
=Variables=
so, variables are created and set in a python like manner, <code>name = value</code>, but, if you set it to a reference, however (like this: <code>name = ~variable</code>), any attempt at setting the variable will result in the variable in the reference to be set. and if you want to reset the variable that is a reference, you need to use this: <code>name ~= newvalue</code>.
=Lists=
all, the same, indexed as <code>list[index]</code>, written as <code>[element1, element2, ...]</code>
=Strings=
'''"why am i even doing this?"''' - ~~~~
so, strings can both be sourrounded by <code>'</code> and <code>"</code>
=Any customs? yes of course, its an esolang=
so, the first one is that true and false default to 1 and 0, the numbers, whitch means you can do crazy stuff.
also, this language does not have an and or an or, so, since true is 1 and false is 0, we can replace theese concepts
<code>and</code>: <code>(condition1 + condition2)/2 == 1</code>
<code>or</code>: <code>(condition1 + contition2)/2 > 0</code>
<code>not</code>: <code>(conditon1 - 1)*-1</code>
===why does this work?===
well, as we can see, the conditions sum up 2 if both are true, so, we can get the average in order to determine how many are true (0 - all false, 1 - all true, 0.5 - 1 true), and then we can set a limit on how much of them are true (<code>> 0</code> - atleast 1, <code>== 1</code> - all of them) and we can do this for any number of conditions
for <code>not</code>, its simple, 0 = -1, 1 = 0, and then we just flip the negative in order to get 0 = 1, 1 = 0
=Examples=
'''"i have some [https://en.wikipedia.org/wiki/Egg_marking egg samples]"''' - ~~~~
'''"It's me, your eggs husband"''' - [https://en.wikipedia.org/wiki/Asgore asgore]
===hello, world!===
<pre>
write("Hello, world!")
</pre>
===Truth machine===
<pre>
goto(3)
goto(5)
goto(7)
num = getnum("1 or 0: ")
goto((((num == 1) + (num == 0))/2 > 0) +1)
write("error")
goto(14)
goto((num == 1) +8)
goto(10)
goto(13)
write(0)
goto(14)
write(1)
goto(12)
</pre>
===Fizzbuzz===
<pre>
goto(3)
goto(19)
goto(6)
i = 0.0
i = i+1
goto((i =< 100) + 1)
goto((i%15 == 0) + 7)
goto((i%5 == 0) +10)
write("fizzbuzz")
goto(4)
goto((i%3 == 0) +13)
write("buzz")
goto(4)
goto(15)
goto(17)
write(i)
goto(4)
write("fizz")
goto(4)
</pre>
and yes, there is an actuall [https://github.com/zlfplololo/InterpriterLol github] to the interpriter, hence, the name' |
Unified diff of changes made by edit (edit_diff) | '@@ -1,0 +1,102 @@
+[[Interpriterlol|InterpriterLol]] is a programming language designed and written by [[User:Zlfp|Zlfp]], that is designed to look dumb and feel dumb, [https://en.wikipedia.org/wiki/Yeti yet], [https://en.wikipedia.org/wiki/Turing_completeness turing complete]
+=Commands=
+'''authors note, i have a [https://en.wikipedia.org/wiki/Yeti yeti] in my basement that i cant get rid of'''
+
+so, the commands in [[Interpriterlol|InterpriterLol]] are nothing really special, [https://en.wikipedia.org/wiki/Yeti yet], not standart. (only by naming conventions)
+{| class="wikitable"
+|-
+! name !! args !! what it does
+|-
+| write || value:
+*String
+*number
+*List
+*Reference
+|| writes out the value into the terminal (or wherever you're running this)
+|-
+| goto || value:
+*Number (without a fractional part (or .0))
+|| goes to the line specified in the value (note that the lines start with 0)
+|-
+| get || value:
+*String
+|| requests a string from the user with the value as what it asks
+|-
+| getnum || value:
+*String
+|| requests a number from the user with the value as what it asks
+|}
+=References (not the links at the end, but the refernces in programming)=
+so, a Reference is a pointer, but high level, so, what it basically does, is makes a variable be setable by a variable. so, for example, if b is a reference to a (denoted like <code>~a</code>), then setting b would reset a instead, and you need to use <code>~=</code> to reset the value of b.
+=Variables=
+so, variables are created and set in a python like manner, <code>name = value</code>, but, if you set it to a reference, however (like this: <code>name = ~variable</code>), any attempt at setting the variable will result in the variable in the reference to be set. and if you want to reset the variable that is a reference, you need to use this: <code>name ~= newvalue</code>.
+=Lists=
+all, the same, indexed as <code>list[index]</code>, written as <code>[element1, element2, ...]</code>
+=Strings=
+'''"why am i even doing this?"''' - ~~~~
+
+so, strings can both be sourrounded by <code>'</code> and <code>"</code>
+
+=Any customs? yes of course, its an esolang=
+so, the first one is that true and false default to 1 and 0, the numbers, whitch means you can do crazy stuff.
+
+also, this language does not have an and or an or, so, since true is 1 and false is 0, we can replace theese concepts
+
+<code>and</code>: <code>(condition1 + condition2)/2 == 1</code>
+
+<code>or</code>: <code>(condition1 + contition2)/2 > 0</code>
+
+<code>not</code>: <code>(conditon1 - 1)*-1</code>
+===why does this work?===
+well, as we can see, the conditions sum up 2 if both are true, so, we can get the average in order to determine how many are true (0 - all false, 1 - all true, 0.5 - 1 true), and then we can set a limit on how much of them are true (<code>> 0</code> - atleast 1, <code>== 1</code> - all of them) and we can do this for any number of conditions
+
+for <code>not</code>, its simple, 0 = -1, 1 = 0, and then we just flip the negative in order to get 0 = 1, 1 = 0
+=Examples=
+'''"i have some [https://en.wikipedia.org/wiki/Egg_marking egg samples]"''' - ~~~~
+
+'''"It's me, your eggs husband"''' - [https://en.wikipedia.org/wiki/Asgore asgore]
+
+===hello, world!===
+<pre>
+write("Hello, world!")
+</pre>
+===Truth machine===
+<pre>
+goto(3)
+goto(5)
+goto(7)
+num = getnum("1 or 0: ")
+goto((((num == 1) + (num == 0))/2 > 0) +1)
+write("error")
+goto(14)
+goto((num == 1) +8)
+goto(10)
+goto(13)
+write(0)
+goto(14)
+write(1)
+goto(12)
+</pre>
+===Fizzbuzz===
+<pre>
+goto(3)
+goto(19)
+goto(6)
+i = 0.0
+i = i+1
+goto((i =< 100) + 1)
+goto((i%15 == 0) + 7)
+goto((i%5 == 0) +10)
+write("fizzbuzz")
+goto(4)
+goto((i%3 == 0) +13)
+write("buzz")
+goto(4)
+goto(15)
+goto(17)
+write(i)
+goto(4)
+write("fizz")
+goto(4)
+</pre>
+and yes, there is an actuall [https://github.com/zlfplololo/InterpriterLol github] to the interpriter, hence, the name
' |
Lines added in edit (added_lines) | [
0 => '[[Interpriterlol|InterpriterLol]] is a programming language designed and written by [[User:Zlfp|Zlfp]], that is designed to look dumb and feel dumb, [https://en.wikipedia.org/wiki/Yeti yet], [https://en.wikipedia.org/wiki/Turing_completeness turing complete]',
1 => '=Commands=',
2 => ''''authors note, i have a [https://en.wikipedia.org/wiki/Yeti yeti] in my basement that i cant get rid of'''',
3 => '',
4 => 'so, the commands in [[Interpriterlol|InterpriterLol]] are nothing really special, [https://en.wikipedia.org/wiki/Yeti yet], not standart. (only by naming conventions)',
5 => '{| class="wikitable"',
6 => '|-',
7 => '! name !! args !! what it does',
8 => '|-',
9 => '| write || value:',
10 => '*String',
11 => '*number',
12 => '*List',
13 => '*Reference ',
14 => '|| writes out the value into the terminal (or wherever you're running this)',
15 => '|-',
16 => '| goto || value:',
17 => '*Number (without a fractional part (or .0)) ',
18 => '|| goes to the line specified in the value (note that the lines start with 0)',
19 => '|-',
20 => '| get || value:',
21 => '*String ',
22 => '|| requests a string from the user with the value as what it asks',
23 => '|-',
24 => '| getnum || value:',
25 => '*String ',
26 => '|| requests a number from the user with the value as what it asks',
27 => '|}',
28 => '=References (not the links at the end, but the refernces in programming)=',
29 => 'so, a Reference is a pointer, but high level, so, what it basically does, is makes a variable be setable by a variable. so, for example, if b is a reference to a (denoted like <code>~a</code>), then setting b would reset a instead, and you need to use <code>~=</code> to reset the value of b.',
30 => '=Variables=',
31 => 'so, variables are created and set in a python like manner, <code>name = value</code>, but, if you set it to a reference, however (like this: <code>name = ~variable</code>), any attempt at setting the variable will result in the variable in the reference to be set. and if you want to reset the variable that is a reference, you need to use this: <code>name ~= newvalue</code>.',
32 => '=Lists=',
33 => 'all, the same, indexed as <code>list[index]</code>, written as <code>[element1, element2, ...]</code>',
34 => '=Strings=',
35 => ''''"why am i even doing this?"''' - ~~~~',
36 => '',
37 => 'so, strings can both be sourrounded by <code>'</code> and <code>"</code>',
38 => '',
39 => '=Any customs? yes of course, its an esolang=',
40 => 'so, the first one is that true and false default to 1 and 0, the numbers, whitch means you can do crazy stuff.',
41 => '',
42 => 'also, this language does not have an and or an or, so, since true is 1 and false is 0, we can replace theese concepts',
43 => '',
44 => '<code>and</code>: <code>(condition1 + condition2)/2 == 1</code>',
45 => '',
46 => '<code>or</code>: <code>(condition1 + contition2)/2 > 0</code>',
47 => '',
48 => '<code>not</code>: <code>(conditon1 - 1)*-1</code>',
49 => '===why does this work?===',
50 => 'well, as we can see, the conditions sum up 2 if both are true, so, we can get the average in order to determine how many are true (0 - all false, 1 - all true, 0.5 - 1 true), and then we can set a limit on how much of them are true (<code>> 0</code> - atleast 1, <code>== 1</code> - all of them) and we can do this for any number of conditions',
51 => '',
52 => 'for <code>not</code>, its simple, 0 = -1, 1 = 0, and then we just flip the negative in order to get 0 = 1, 1 = 0',
53 => '=Examples=',
54 => ''''"i have some [https://en.wikipedia.org/wiki/Egg_marking egg samples]"''' - ~~~~',
55 => '',
56 => ''''"It's me, your eggs husband"''' - [https://en.wikipedia.org/wiki/Asgore asgore]',
57 => '',
58 => '===hello, world!===',
59 => '<pre>',
60 => 'write("Hello, world!")',
61 => '</pre>',
62 => '===Truth machine===',
63 => '<pre>',
64 => 'goto(3)',
65 => 'goto(5)',
66 => 'goto(7)',
67 => 'num = getnum("1 or 0: ")',
68 => 'goto((((num == 1) + (num == 0))/2 > 0) +1)',
69 => 'write("error")',
70 => 'goto(14)',
71 => 'goto((num == 1) +8)',
72 => 'goto(10)',
73 => 'goto(13)',
74 => 'write(0)',
75 => 'goto(14)',
76 => 'write(1)',
77 => 'goto(12)',
78 => '</pre>',
79 => '===Fizzbuzz===',
80 => '<pre>',
81 => 'goto(3)',
82 => 'goto(19)',
83 => 'goto(6)',
84 => 'i = 0.0',
85 => 'i = i+1',
86 => 'goto((i =< 100) + 1)',
87 => 'goto((i%15 == 0) + 7)',
88 => 'goto((i%5 == 0) +10)',
89 => 'write("fizzbuzz")',
90 => 'goto(4)',
91 => 'goto((i%3 == 0) +13)',
92 => 'write("buzz")',
93 => 'goto(4)',
94 => 'goto(15)',
95 => 'goto(17)',
96 => 'write(i)',
97 => 'goto(4)',
98 => 'write("fizz")',
99 => 'goto(4)',
100 => '</pre>',
101 => 'and yes, there is an actuall [https://github.com/zlfplololo/InterpriterLol github] to the interpriter, hence, the name'
] |