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]

Reply via email to