From ff302cc6a33788ed3d4bc86b0b3c69eff9d2378c Mon Sep 17 00:00:00 2001 From: Speeen <87054682+LandonThePancake@users.noreply.github.com> Date: Wed, 1 Nov 2023 18:46:04 -0600 Subject: [PATCH 1/3] Update README.md --- README.md | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 123 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7d8c0e9..fb32deb 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,128 @@ Written by LandonThePancake in Python v3.12

Info

-Dualfish is a esoteric programming language heavily inspired by another language named "deadfish". This language aims to add more to deadfish with the goal of making it slightly more interesting (whilst also making no god damn sense). 'Dual'fish gets its name from having two registers to work with instead of just one like deadfish. It really doesn't take rocket science to find out where the 'fish' part came from. +Dualfish is a esoteric programming language heavily inspired by another language named "deadfish". This language aims to add more to deadfish with the goal of making it slightly more interesting (whilst also making no god damn sense). 'Dual'fish gets its name from having two registers to work with instead of just one like deadfish. It really doesn't take rocket science to find out where the 'fish' part came from, so don't ask. +

This is my first interpreter, and it definitely shows with how the code is structured, But im pretty proud of what i was able to pull off. -

Type 'help' in the interpreter to get a list of what you can do

-I'll type more later i swear +

How to make something in Dualfish

+you can type 'help' in the interpreter for a list of functions

+So you wanna make something in Dualfish? Are you SURE you have nothing else you should be doing? No responsibilities to take care of? Alright then, +
+In Dualfish you have these things called "registers", two to be exact. Both of these hold a INT that start at 0 that can be modified to your liking. you can freely switch between these with the "<, >" commands, but I'll go over that a bit more later. +

i and d

+"i" stands for increment and adds 1 to the register, while "d" stands for decrement and subtracts 1 to the register. +

+Increment + +~~~ +Input: iiio +(register 1 will equal 3) +~~~ +
+Decrement + +~~~ +Input: dddo +(register 1 will equal -3) +~~~ + +

s and c

+"s" stands for square, and squares the current register +"c" stands for cube, and cubes the current register +

+Squaring + +~~~ +Input: iiiiso +(register 1 will equal 16) +~~~ +
+Cubing + +~~~ +Input: iiiico +(register 1 will equal 64) +~~~ +

o, and 0

+"o" stands for output, and outputs the value of the selected register. "0" doesnt stand for anything, but will display the value of both registers. +

+o + +~~~ +Input: iiisdo +Output: 8 +~~~ +
+0 + +~~~ +Input: iiisd0 +Output: [8, 0] +~~~ +

a

+(you may need this: https://i.pinimg.com/736x/39/c7/11/39c71180679b0e5fa358fecc8d6c2682.jpg)
+"a" stands for alphabet, and is a bit more complicated than the other functions. It outputs an alphabetical letter, corresponding to a registers current INT value. So 1 = a, 2 = b, 3 = c, etc... Once you break past 26, you get to capital letters. So 27 = A, 28 = B, 29 = C etc... And past 52, it crashes the interpreter! (I'll fix it later) + +~~~ +Input: iiiiiiiiaia +Output: hi +~~~ + +

< and >

+"<" switches the current register to 1, and ">" sets it to register 2. + +~~~ +Input: iiii>iiiii0 +Output: [4, 5] +~~~ +

*

+"*" simply doubles the value of the current register + +~~~ +Input: iii*o +Output: 6 +~~~ + +

+ and -

+"+" adds the value from the unselected register to the selected one, and "-" subtracts the value of the unselected register from the selected one. +

+Adding + +~~~ +Input: ii>iiii+0 +Output: [2, 6] +~~~ +
+Subtracting + +~~~ +Input: >iiiif +"f" flips a registers positive and negative signs. It's also not in the help command for some reason. (I'll fix it later) + +~~~ +Input: iiifo +Output: -3 +~~~ + +

r

+"r" resets the value of BOTH registers back to 0 + +~~~ +Input: iiiii>iiiiir0 +Output: [0, 0] +~~~ + +

Hello World

+I'm not really going to teach you how to pull off a hello world, because I would be here forever if I did. but rather I'll show you the smallest "hello world" program i've made so far so you can get an idea on how the code is structured. + +~~~ +Input: iic**iiarii*ia>iii*i<+aa>dddd<+a>dddaiiiciiiiiii<+ariiii**da>iii<+a>*<-arii*a +Output: Hello World +~~~ +

Whats to come?

+I dont plan on expanding this language too much more, but I'd love to add a form of input, as well as a way to read dualfish files. But yeah, I think thats everything. Have fun! From 9bcf48da93e5994a4aa08094222ac56f61082326 Mon Sep 17 00:00:00 2001 From: Speeen <87054682+LandonThePancake@users.noreply.github.com> Date: Wed, 1 Nov 2023 21:50:50 -0600 Subject: [PATCH 2/3] Update README.md --- README.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fb32deb..30717d7 100644 --- a/README.md +++ b/README.md @@ -119,12 +119,21 @@ Input: iiiii>iiiiir0 Output: [0, 0] ~~~ -

Hello World

-I'm not really going to teach you how to pull off a hello world, because I would be here forever if I did. but rather I'll show you the smallest "hello world" program i've made so far so you can get an idea on how the code is structured. +

Full Examples

+I'm not really going to teach you what kind of dark voodoo magic makes any of this work, but i thought it would be cool to show off nonetheless +

+Written by Me (smallest hello world i've made) ~~~ Input: iic**iiarii*ia>iii*i<+aa>dddd<+a>dddaiiiciiiiiii<+ariiii**da>iii<+a>*<-arii*a Output: Hello World ~~~ +
+Written by Techsec + +~~~ +Input: ii*i**>ii*isi<+arii**arii*iar>aaii*i<+arii*i**iiiarii*iii*ar>aii*i<+arii***>ii**<+ar>aaiii*<-arii*isar>aii*i<+arii*>iii<+a +Output: The quick brown fox the lazy dog +~~~

Whats to come?

I dont plan on expanding this language too much more, but I'd love to add a form of input, as well as a way to read dualfish files. But yeah, I think thats everything. Have fun! From 9c752a8cc8c63fbbea3881b23b3fe9ecf1782ea2 Mon Sep 17 00:00:00 2001 From: BrotherYuuta <147907385+BrotherYuuta@users.noreply.github.com> Date: Wed, 1 Nov 2023 23:00:19 -0600 Subject: [PATCH 3/3] Create TaskList.txt --- TaskList.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 TaskList.txt diff --git a/TaskList.txt b/TaskList.txt new file mode 100644 index 0000000..22d8e9a --- /dev/null +++ b/TaskList.txt @@ -0,0 +1 @@ +Ll