The programs in NEMO which use graphics are rather simple and allow no interactive processing, except perhaps for a simple 'hit-the-return-key' or 'push-a-mouse-button' between successive plots or actions. A very simple interface (API) was defined (yapp, Yet Another Plotting Package) with basic plot functions. There are currently a few yapp implementations available, such as a postscript-only device, and pgplot. If your output device is not supported by the ones available in the current yapp directory ($NEMO/src/kernel/yapp), you have to write a new one! A reasonably experienced programmer writes a functional yapp-interface in a few hours.
Although this method results in a flexible graphics interface, a program can currently only be linked with one yapp-interface. This might result in the existence of more than one version of the same program, each for another graphics output device. We use the convention that the ones for a postscript printer have a _ps appended to their original name: the program which has the original name is the one whose display is the current screen, Hence we may see program names such as snapplot (general Sun screen within suntools), snapplot_ps (postscript), snapplot_cg (color Sun screen) and snapplot_sv (variable size sunview pixwindow for storing small images for movies). Again: actual names may differ on your system.
If programs are linked with the multiplexing libraries yapp_mongo or yapp_pgplot interface, several device drivers are transparently present through mongo, and the hidden system keyword yapp= is then used to select a device (a default can be set by using the YAPP environment variable). See also Appendix .
However, despite these grim sounding words, we currently almost exclusively use the PGPLOT implementation of yapp.