Re: [R] The meaning of functional language

From: Patrick Burns <>
Date: Wed 19 Oct 2005 - 07:40:09 EST

ronggui wrote:

>It's often heard that the S language is a functional language.But What's the exact meaning of this termology in the context of S language?

Here's the idea. If you have:

x <- 1:10
f <- function(y) { x <- sin(y / 2); x + y} f(-3:3)

then the 'x' inside 'f' does not wipe out your top-level 'x' when 'f' is called.

Operationally it means that objects are only changed via the assignment operator. (This is not strictly true, but other vehicles, such as '<<-', are generally considered bad style.)

The reason for wanting this behavior is so that you don't need to worry about objects getting invisibly changed while you are analyzing some data, or whatever it is that you are doing. That is, the language was designed to be human efficient, while sacrificing some machine efficiency.

Patrick Burns
+44 (0)20 8525 0696
(home of S Poetry and "A Guide for the Unwilling S User") mailing list PLEASE do read the posting guide! Received on Wed Oct 19 07:47:09 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:40:46 EST