# The variables are explained in the file gap/data.g
# name := number;

IF_r := 140;


##############################################################################
# Administrative data


IF_SUBPACKAGE_VERSION[IF_r] := "dev";

IF_CAS_DESCRIPTION[IF_r] :=
[ "R",
"R is a free software environment for statistical computing and graphics.",
"http://www.r-project.org/" ];


##############################################################################
# Low level data


IF_EXEC_NAME[IF_r] := "R";
IF_EXEC_FULL_PATH[IF_r] := "/mnt/hda8/costanti/CASes/R-2.2.1/bin/R";
IF_EXEC_OPTIONS[IF_r] := [ "--vanilla", "--silent" ];


IF_QUIT_COMMAND[IF_r] := "q()";
IF_DISPLAY_VERSION[IF_r] := "R.version.string"; # "R.Version()"


# IF_FIRST_COMMAND[IF_r] := "";
IF_FIRST_PROMPT[IF_r] := "> ";
IF_PROMPTS[IF_r] := [ "> " ]; # ? "\n> "
IF_FUNC_REMOVE_PROMPT[IF_r] := OUT -> OUT{[ 5 .. Length( OUT ) - Length( IF_PROMPTS[IF_r][1] ) ]};
IF_IS_THERE_PROMPT[IF_r] :=true;


##############################################################################
# High level data


IF_ASSIGN[IF_r] := "<-";
IF_END_COMMAND[IF_r] := ""; # ";"
IF_END_COMMAND_NO_OUTPUT[IF_r] := ""; # ";" ??????
IF_FUNC_TYPE[IF_r] := "typeof";
IF_TYPE_IS_QUOTED[IF_r] := true;

IF_FUNC_DISPLAY[IF_r] := "";
# IF_FUNC_DISPLAY_OPENMATH[IF_r] := "";

IF_STRING_ARE_QUOTED[IF_r] := true;
IF_FUNC_STRING[IF_r] := "paste";
IF_PROHIBITED_CHARS[IF_r] := [  ];


##############################################################################
# data types data


# see http://cran.r-project.org/doc/manuals/R-lang.html#Objects


IF_DATA_TYPES[IF_r] := rec(


NULL := [
"Null",
,
,
obj -> fail
],


symbol := [
"a variable name ",
],


pairlist := [
"a pairlist object",
],


closure := [
"a function",
],


environment := [
"an environment",
],


promise := [
"an object used to implement lazy evaluation",
],


language := [
"an R language construct",
],


special := [
"a built-in function that does not evaluate its arguments",
],


builtin := [
"a built-in function that evaluates its arguments",
],


logical := [
"a vector containing logical values",
],


integer := [
"a vector containing integer values",
],


double := [
"a vector containing real values",
],


complex := [
"a vector containing complex values",
],


character := [
"a vector containing character values",
],


\.\.\. := [
"the special variable length argument ***",
],


any := [
"a special type that matches all types ***",
],


expression := [
"an expression object",
],


list := [
"a list",
],


externalptr := [
"an external pointer object",
],


weakref := [
"a weak reference object",
],


raw := [
"a vector containing bytes",
]


);

