Assume that we have an imaginary programming language that allows you to assign a Literal to a variable, but does not allow you to set the the data type of the variable, for example
Allocate4Bytes an_int_variable 123456;
Allocate2Bytes a_short_int_variable 123;
Allocate4Bytes a_float_variable 2.1;
And this programming language also provides different operators to work with different data types, for example:
+operator is used to add an int to a short int.
#+operator is used to add a float to an int.
=operator is used to assign an int to an int.
#=operator is used to assign a short int to a short int.
So it is the job of the programmer to keep track of the data type of each variable and use the appropriate operator on it.
Is this programming language considered to be a typeless programming language, or can we say that this programming language have data types (even though it does not have operator overloading and type safety, etc.)?