On Thu, 17 Jul 2003, M.Kondrin wrote:

> Douglas Trainor wrote:
> >
> > Tell the "CS-guys" to grab the source code and chew on the LALR
> > context-free grammar stuff in the file "gram.y" as in:
> >
> >    R-1.7.1/src/main/gram.y
> >
> > "R Language Definition" lives at:
> >
> >    http://cran.r-project.org/doc/manuals/R-lang.pdf
> >
> >
> Thanks for your answers!

I don't think the grammar will actually answer their questions -- it
doesn't specify a lot of the things you (they) are interested in.

R doesn't really conform to purist classifications of languages (I tell
C++ programmers that they would be happier if they think of the old method
system as providing operator overloading rather objects). Luke Tierney
would probably be the best person to reply but here's a stab at what they
want:

R has dynamic typing, and static lexical scoping.  Functions are
first-class objects but assignments to change variables are allowed and
widely used.  It has lazy evaluation of arguments. It has a non-copying
garbage collector but does not have continuations or tail recursion
optimisation.  Operations that would naturally be written using dynamic
scope or macros are faked by constructing expressions and evaluating them
in other than the default environment.

There are two object systems.  Both provide polymorphism and (multiple)
inheritance but do not restrict access to the internal structure of
objects.

Documentation for some things (methods, namespaces, the garbage collector)
is at http://developer.r-project.org


        -thomas

Thomas Lumley                   Assoc. Professor, Biostatistics
[EMAIL PROTECTED]       University of Washington, Seattle

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help

Reply via email to