![]()
We have developed this jukebox for a couple of reasons, first being that it is fun and useful, and it is a good demonstration of the capabilites of the Ensemble group communications system.
We also have a strong desire to demonstrate the capabilites of higher level language principles, like those used to design ML, and OCaml in particular. There are many of these principles, but the foremost are probably the following:
The jukebox is a fairly large application on its own (some 30,000 lines of code outside of Ensemble). The development time for EJB was rather short (about 2 months with mostly one programmer), and changes to the code are reasonably easy. There is little run time penalty for running in a safe language which is in large part due to the quality of the OCaml compiler.
The priciple we use for developing this jukebox are the same principle that we promote in our research. We believe that by using powerful formal techniques it is possible to produce programming languages that are easy to use and efficient, and make programs easier to develop and maintain.