This thesis deals with analyzing, designing and implementing a program to learn a new operator from a user. The new operator has to be built from existing operators. In addition, we
have also defined and implemented the basic operators, data and data types which are the basic knowledge to build the new operators. Upon initialization, the system will have some built-in data types and operators. An interface is provided to allow a user
to define a new operator, and to use operators, both built-in or learned, to perform computations on data of the appropriate data types. The learning program developed as part of this thesis has also been successfully integrated into the larger ongoing p
roject (ALPS).