True incremental garbage collection Modern programming environments like Smalltalk and Lisp automatically recover lost objects, so you don't have to waste time and effort worrying about memory leaks. Muq does too, using an incremental algorithm so the server never stops long enough for you to notice. You will never be embarassed explaining to a new user that objects are named by numbers, and one has to get used to writing them down. You will never face the portability headaches posed by hardwired numeric dbrefs. You will never feel as though you had been transported back to the software environments of the early 1950s, before the idea of symbolic names was introduced.
True user shells Many servers hardwire the user interface into the server.
Unix makes the user shell a separate unprivileged process, allowing users to individually select whatever interface style they wish. The standard Muq distribution provides a selection of shells, and in addition a number of third-party user shells have already been written, and it seems safe to say that more are on the way. This means that simple user requests can get quick responses while more demanding user computations continue in the background. Muq provides a full range of modern datatypes and datastructures, including strings, integers, floats, arrays, Lisp-style lists, packages, symbols, stacks, streams, and objects with property directories. Muq bytecode compilers are implemented in-db using an assembler class that handles most of the busywork and guarantees production of only valid executables, allowing new compilers to be written by unprivileged users.