In the good old days of personal computing, you could actually *see* a program performing calculations by just telling the video chip to dump its data area to the monitor in real time. Today even pocket calculators have dedicated graphics memory, so you need a virtual machine to do roughly the same thing.

The images and animation below are 3D renderings of the runtime environment of ML programs (Objective Caml v1.05). Linked lists are easily recognizable; if you think you can see balanced binary trees and hashtables then you should probably logout and take a break.

For some reason, the mpegs don't work well with xanim. Use mpeg_play or xmpeg instead.


let rec gen tmp = function
| 0 -> tmp
| n -> gen (Random.int 10000::tmp) (n-1)

let l = Sort.list (>) (gen [] 20)
GIF (8 Kb) ,
The Objective Caml compiler prints its version number and exits.
GIF (24 Kb) , MPEG (3.6 Mb) ,
[Feb 2001] See also: 3D renderings of the Linux kernel source code.