Actually it’s not quite that, rand(100,100) in the repl prints only parts of the values with some … in between, while sprint(Base.show,MIME"text/plain"(), rand(100,100)) prints the whole thing, which gets very slow for large matrices.
Sorry to revive an old thread, but I have one more question about this.
The docs agree with everything said above, that technically the REPL calls display(), but you can also use show(stdout, MIME("text/plain"), z) to achieve the same thing:
Technically, the REPL calls display(z) to display the result of executing a line, which defaults to show(stdout, MIME("text/plain"), z) , which in turn defaults to show(stdout, z) , but you should not define new display methods unless you are defining a new multimedia display handler (see Multimedia I/O).
But I was a little surprised by the difference in how nothing is handled. Both of those methods above, print nothing for display(nothing), where the REPL just doesn’t print anything: