
Originally Posted by
eth0nic
I love "because you would like a clean way of returning multiple values from a function" ... I would consider such a function to be poorly designed. :-)
I think you are mistaken here. Most of the cases it's a very important thing and the basis of a well designed code.
For example, let's say we have a scanf function. You pass the pointers of your allocated variables, and it returns the data to you and a status code, whether all the available data was successfully read or EOF reached and if error happend, you even read the errno for more information. That's a typical case of a function returning multiple values (all the WinAPI is based on that, e.g. CreateThread returns a handle and a threadId).
In languages where pointers are not available and most of the native data types and storage objects are immutable, it's usually not available, we need a different way of handling these problems without making mess of the code. That's what multiple return values are for.
For exampe in Python this behaviour is represented by tuples: conn, address = socket.accept() where conn is the new socket, and the address is the address of the other side that connected to it and bound to the socket.
I don't want to defend euphoria but there is no problem with this... But the lack of threads.....
@
Botmaker if there is scheduling system to emulate multithreading then you should use it for at least the gui. While your program is thinking your gui is frozen.. Try to seperate the gui from the core of the program, because it's not just the user but even the O/S thinks your program is not responding.. Of course I wouldn't know, I haven't downloaded any of your projects but it's an important thing in every graphical app and if it has only 1 thread i'm sure this is the case.