Worse, the parser was buggy. This was a real pain in the back sometime.
The “magic string conversion” was a bad idea. e.g. the result of a “recv” was a string that could silently be converted into an integer.
As “+” is used for concatenation, this could lead to unpredictable results.
The parser did not interpreted sequences like “\n”. The “string” function had to be called. To avoid multiple interpretation, strings were then marked as “pure”.
“display” calls “string” on its arguments.