On Mon, 7 Jan 2002, Rafael 'Dido' Sevilla wrote:
> Having programmed in Scheme, I can say that I wouldn't want it to be my > toplevel shell. It might be useful as a scripting language (and would > definitely be somewhere between Perl and the basic Bourne shell in terms > of functionality I guess), but if I had to type my *commands* that way, > I would be typing more parentheses than any other character. :) Scheme is a simplified descendant of Lisp, and both are applicative functional languages. Although you can use these for your shell or for scripting, these are not their intended use. Lisp has been used for creating inference engines for intelligent systems (in AI). The engine running symbolic mathematical languages like Maple, Mathematica, Derive, Reduce, Maxima, etc., are all written in Lisp. The central idea in Scheme and Lisp (and lazy functional languages like Haskell) is that functions are "first class" citizens, and as such are indistinguishable from data. Functions can be passed as arguments, returned as function values, stored in arrays, etc. To understand this "first-class"ness of functions in Lisp, Scheme, Haskell, you need to go back to the ancestor of them all -- which is Lambda Calculus. So in Lisp, both data and functions have the same representation as lambda expressions, because in their primitive nature, they are one and the same. The confusing amount of parenthesis should not deter one from appreciating and loving this powerful class of applicative functional languages. PMana _ Philippine Linux Users Group. Web site and archives at http://plug.linux.org.ph To leave: send "unsubscribe" in the body to [EMAIL PROTECTED] To subscribe to the Linux Newbies' List: send "subscribe" in the body to [EMAIL PROTECTED]
