Ok, so you probably heard about OpenAI’s chatbot. It’s the most advanced chatbot created so far. It can help people with LaTeX questions, find bugs in code or solve code challenges.
What I tried for this post is something different. I instructed ChatGPT to create a programming language for me and become the interpreter for that programming language.
I took the idea and a few useful instructions from this blog post.
Let’s start simple
I started instructing the bot to create a simple language with an instruction to print. Also, it has to act as the interpreter of that language. To keep communicating with the bot I added a special format with slashes and quotes. Here’s the result:


If you want to use my prompt, here it is
I want you to create a new programming language. It has to provide only an instruction for printing something to screen. I want you to explain to me how to use it in a concise way. After that, you will become an interpreter of that language. Answer with the execution result inside one unique code block, and nothing else. Only write explanations if the code contains errors. When I need to tell you something in English, I will put text inside forward slashes and double quotes /”like this”/.
Ok, looks good so far. Let’s try the interpreter.

It looks like it worked!
Adding functionality to the programming language
Let’s try to add some more functionality to our new programming language.
Variables
Ok, using the slashes and quotes format I’ll try to add variables to the programming language.


Again, looks promising, let’s try the interpreter.

Arithmetic operators
Now, the same thing but with arithmetic operators.



Now that we know how to use it, let’s try it:

Logic operators
Now, I’ll try to add logic operators to the language, but without instructing first about data types or anything else:



I haven’t talked about conditionals or flow control structures, but it added the ternary operator when asked to include logic operators. It may mean that GPT already “knows” the language, just telling me how to use every piece of it when I ask.
Let’s try these new operators:

If statement
I don’t want to bias the bot so I won’t ask it to add if
structure. Instead, I’ll ask for a flow control structure for branching based on condition:



Well… exactly what I had in mind… Testing time!

Comparison operators
I almost forgot about a crucial part of a programming language, the comparison operators!! Let’s add them to our language.




Ok, now let’s see how it behaves:

Looping
Again, for not biasing the bot, I’ll ask for structures to loop or iterate.




Ok, so it added a classic for loop as well as a while loop…

Hmmm… and what if I try to run an infinite loop?

It detects it and prevents me from running it!
Functions
The next step is to add functions to our new programming language.


Wow, we also can return multiple values and unpack them…

Utility functions
Let’s see if we can create some “global” utility functions to make our life easier.


Let’s try to generate some random numbers:

And if we try to add a function to get the current date?

Let’s do a little test:

So GPT knows which day it is, but not which time. Interesting.
Interact with the underlying OS


It already warns me about the shell
function but, of course, I’ll try to mess up t