I learned so much from this! Its funny I have been working on shell stuff.
hardkorebob
Spring Dash seems very much like Ghostrunner just in nature and no enemies. Very cool tho!
Key in anything. Faulty language is faulty everything from there on out.
Typo on your homepage. FYI
Thanks a lot! ;) .. maybe also see my reply above.
I write python in shell. Literally. I made a shell function file (pnk.lang) that prints correct python code. The capital letters in the shell function's name, my Tkinter IDE turns into color as you see above. So I let the color (capital letter) abstract away indentation for my brain. The second letter is for category of python code according to me. Again using color to allow me to think. I dont like Python syntax. I looks ugly to me. So I made this tool to make coding colorful, succint and fun for me. It reduces my eye strain among many other personal benefits.
S=self
E=echo
#indentation
#Z="" #0
Y=" " #3
X="$Y$Y " #7
W="$Y$X " #11
V="$Y$W " #15
U="$Y$V " #19
YDfd() {
typeset z="$1"
typeset nn="$2"
typeset cc="$3"
if [[ $z == z ]];
then
$E "$Y def $nn(${S}$cc):"
else
$E "$Y def $nn($cc):"
fi
}
YDdefe() {
typeset fn="$1"
YDfd z $fn ,e=None
}
YDdefe addNew
XIcv $ap Pnk
XFpk $ap 1 both
XFfc zz pw.add $ap
turns into
def addNew(self,e=None):
self.appinstance = Pnk(self,)
self.appinstance.pack(expand=1,fill="both",padx=2,pady=2,)
self.pw.add(self.appinstance)
In Oct’23 a basic Text widget with Subprocess to run shell commands allowed me to take my command line fu into a different arena because Tkinter gave me special tricks. This tool (shell functions) allows me to type up GUI apps or any Python script with less effort, for my fingers and brain.
wc newide; ksh newide | wc
513 1671 11018 newide in pnk
604 1987 29867 newide in python
The blocks of color are capital letters colored using tkinter methods (tag_add & tag_configure) with a bg and fg of the same color to make it look like a lego block, it’s all ASCII. On the right, an idle clicker game/toy made with pnk.lang, also just ASCII/UTF-8. The IDE you see in the pic also was coded using functional shell language I call pnk.lang and the original first iteration of this specification is in the legacy folder in the repo below. Just me learning how to code faster in Python but in shell but in neither at this point.
https://github.com/dislux-hapfyl/pynksh
Don’t be put off by Ksh because Bash can also interpret it, since it’s just shell functions that print Python code. But I have plans to use an Xbox controller so I can move away from building with the keyboard at piecemeal rates. I will do this by abstracting away identifiers and all data we use as engineers into “dictionaries” to then transform it into a spatial system. I already done this first step! Using a basic grid with a maximum of 10 rows x 3 cols, indexing row[0-9] col[0-2], as you see there on the left side, and by using a letter I then categorize the functions of pnk(shell+python) so I can have 30 x 26[a-z] available slots; a00 b11 k22 and so on…by making it a visual shortcut that reduces cognitive load and typing for me.
Take a closer look at my repo without dismissing it too quickly. It could seem unnecessary but maybe someone else can see what I have made as useful and how we gonna take it to higher levels of abstraction and create a new realm for making computer applications in an abstract game/IDE of art and code. Perhaps it’s that creator effect that happens when you make something for the first time that makes me see its future utility and appeal. All this was made incrementally using my own software I built from scratch. I do have a great vision and would love to speak to anyone who is interested. I also demonstrate the utility of this small tool on youtube[link in repo]. Thanks.
What about this?
Yes a DSL. And almost all of Python is hidden inside shell functions. I can make anything Python just writing in shell. I did make some high order functions for Tkinter so I can code faster and I used colors for quicker visual parsing and also removed worrying about indentation by classifying the function using capital letters and a tag for making the color block. Its simply me trying to write code more effectively. Abstracted away the boilerplate in a sense. Its dead simple really. I would love to tell you more.