manlam(fn||fn) c = pixel z(0) = p1 if modulus(z(n)) < shift value, then z(n+1) = fn1(z(n)) * c, else z(n+1) = fn2(z(n)) * c. Five parameters: real, imaginary parts of p1, shift value, fn1, fn2. Two functions=[sin|cos|sinh|cosh|exp|log|sqr|...]) are specified with these types. The two functions are alternately used in the calculation based on a comparison between the modulus of the current Z and the shift value. The first function is used if the modulus of Z is less than the shift value and the second function is used otherwise. The lambda(fn||fn) type calculates the Julia set of the formula lambda*fn(Z), for various values of the function "fn", where lambda and Z are both complex. Two values, the real and imaginary parts of lambda, should be given in the "params=" option. The third value is the shift value. The space bar will generate the corresponding "psuedo Mandelbrot" set, manlam(fn||fn). The manlam(fn||fn) type calculates the "psuedo Mandelbrot" set of the formula fn(Z)*C, for various values of the function "fn", where C and Z are both complex. Two values, the real and imaginary parts of Z(0), should be given in the "params=" option. The third value is the shift value. The space bar will generate the corresponding julia set, lamda(fn||fn). The julia(fn||fn) type calculates the Julia set of the formula fn(Z)+C, for various values of the function "fn", where C and Z are both complex. Two values, the real and imaginary parts of C, should be given in the "params=" option. The third value is the shift value. The space bar will generate the corresponding mandelbrot set, mandel(fn||fn). The mandel(fn||fn) type calculates the Mandelbrot set of the formula fn(Z)+C, for various values of the function "fn", where C and Z are both complex. Two values, the real and imaginary parts of Z(0), should be given in the "params=" option. The third value is the shift value. The space bar will generate the corresponding julia set, julia(fn||fn).