R, also known as GNU S, is a strongly functional, highly extensible programming language, with a general interactive shell environment, extensive graphing abilities, a huge set of functions for mathematical and statistical manipulations and exploration of data sets, with even more available in optional libraries/packages. It provides a wide variety of statistical (linear and nonlinear modeling, classical statistical tests, time series analysis, classification, clustering, ...) and graphical techniques. It can display many graphical representations of data from a custom command line, and easily output well designed, publication quality plots, including mathematical symbols and formulae where needed. Great care has been given to the defaults for the minor design choices in graphics, but users have full control. The shell has an option to save one full environment per working directory. R is heavily influenced by two extant languages: Becker, Chambers & Wilks' S, and Sussman's Scheme. R is most similar in appearance to the S language and environment, but the underlying implementation and semantics are derived from Scheme. R can be viewed as an implementation of S which is less standard and more different from the other implementations, S and S-Plus. Much code written for S can run unaltered in R. It is also useful for artificial intelligence and machine learning. It is Open Source, with a GPL license.