Yes, this is a tricky case where you always have to define
show(stream,x) or print(stream,x), but show(x) and print(x) are
provided for convenience. Ideally we'd prevent adding new
single-argument definitions, but that isn't our style.
We do not have a function that's supposed to print readable
representations. I acknowledge read and print as lisp's major
strengths, but outside of JSON people don't seem to favor
programming-language-based storage and interchange formats. show() is
for displaying pretty representations at the prompt, and print() is
for canonical text representations (e.g. unquoted strings), defaulting
to show() for values without canonical representations. Then you have
standard formats like CSV, or binary serialization for something
efficient and julia-specific. Although readable representations seem
ideal, after all these other options there is strangely little room
left for them.
> --
>
>
>