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

IF_singular := 40;
IF_plural := 50;


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


IF_SUBPACKAGE_VERSION[IF_singular] := "dev";
IF_SUBPACKAGE_VERSION[IF_plural] := "dev";

IF_CAS_DESCRIPTION[IF_singular] :=
[ "SINGULAR",
"A Computer Algebra System for Polynomial Computations",
"http://www.singular.uni-kl.de/" ];

IF_CAS_DESCRIPTION[IF_plural] :=
[ "PLURAL",
"A Computer Algebra System for Non-commutative Polynomial Computations",
"http://www.singular.uni-kl.de/plural/" ];


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


IF_EXEC_NAME[IF_singular] := "Singular";
#IF_EXEC_FULL_PATH[IF_singular] := "";

IF_EXEC_NAME[IF_plural] := "Plural";
#IF_EXEC_FULL_PATH[IF_plural] := "";


for IF_both in [ IF_singular, IF_plural ] do

IF_EXEC_OPTIONS[IF_both] := ["-t" ]; # , "data/singular/read.sin"];


IF_QUIT_COMMAND[IF_both] := ";quit;";
IF_DISPLAY_VERSION[IF_both] := "system( \"version\" );";


IF_FIRST_COMMAND[IF_both] := "def GapObj;";
IF_FIRST_PROMPT[IF_both] := "\n> ";
IF_PROMPTS[IF_both] :=[ "> ", "\n. "];
IF_FUNC_REMOVE_PROMPT[IF_both] := OUT -> OUT{[1 .. Length( OUT ) - 3]}; 
IF_IS_THERE_PROMPT[IF_both] := true;


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


IF_ASSIGN[IF_both] := "=";
IF_END_COMMAND[IF_both] := ";";
IF_END_COMMAND_NO_OUTPUT[IF_both] := ";";
IF_FUNC_TYPE[IF_both] := "typeof";
IF_TYPE_IS_QUOTED[IF_both] := false;

IF_FUNC_DISPLAY[IF_both] := "string";
# IF_FUNC_DISPLAY_OPENMATH[IF_both] := "";

IF_STRING_ARE_QUOTED[IF_both] := false;
IF_FUNC_STRING[IF_both] := "string";
IF_PROHIBITED_CHARS[IF_both] := [ 127 .. 255 ];


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


# ? data types reference


# SingularDataTypes is defined in a recent version of package singular
if not IsBound( SingularDataTypes )  then
    SingularDataTypes := rec();
fi;

IF_DATA_TYPES[IF_both] := SingularDataTypes;


od;

