<> <> <> <<>> DIRECTORY ExpressProc, ExpressTree, RealFns USING [Sin]; ExpressProcExampleClient: CEDAR PROGRAM IMPORTS ExpressProc, ExpressTree, RealFns ~ { OPEN ET: ExpressTree; Test2: PROC [] RETURNS [proc: PROC ANY RETURNS ANY] ~ { tree: ET.XTree _ ET.ApplyTrinOp [ $If, ET.ApplyBinOp [ $GT, ET.XTreeFromId[$Id1], ET.XTreeFromConstant[.5] ], ET.ApplyFcn [ RealFns.Sin, LIST [ET.XTreeFromId[$Id1]] ], ET.ApplyUnOp [ $Negate, ET.XTreeFromId[$Id2] ] ]; proc _ ExpressProc.GetProc[tree]; }; Test: PROC [] RETURNS [proc: PROC ANY RETURNS ANY] ~ { tree: ET.XTree _ ET.XTreeFromId[$Id4]; proc _ ExpressProc.GetProc[tree]; }; }.