The Host Access Class Library (HACL) is a set of objects that allows application programmers to access host applications easily and quickly. HCL Z and I Emulator for Windows provides support for a wide variety of programming languages and environments by supporting several different HACL layers: C++ objects, Java™ objects, Microsoft COM-based automation technology (OLE). Each layer provides the same basic functionality, but each layer has some differences due to the different syntax and capabilities of each environment. The most functional and flexible layer is the C++ layer, which provides the basis for all others.

This layering concept allows the basic HACL functions to be used with a wide variety of programming environments including Java, Microsoft Visual Basic, Visual Basic for Applications, Lotus® Notes®, Lotus WordPro and Visual C++. The following figure shows the HACL layers.
Figure 1. HACL Layers