coreFunctions := {};

coreFunctions["Hold"] := {"LispQuote",Macro,Fixed,1};
coreFunctions["Eval"] := {"LispEval",Function,Fixed,1};
coreFunctions["Write"] := {"LispWrite",Function,Variable,1};
coreFunctions["WriteString"] := {"LispWriteString",Function,Fixed,1};
coreFunctions["FullForm"] := {"LispFullForm",Function,Fixed,1};
coreFunctions["DefaultDirectory"] := {"LispDefaultDirectory",Function,Fixed,1};
coreFunctions["FromFile"] := {"LispFromFile",Macro,Fixed,2};
coreFunctions["FromString"] := {"LispFromString",Macro,Fixed,2};
coreFunctions["Read"] := {"LispRead",Function,Fixed,0};
coreFunctions["ReadToken"] := {"LispReadToken",Function,Fixed,0};
coreFunctions["ToFile"] := {"LispToFile",Macro,Fixed,2};
coreFunctions["ToString"] := {"LispToString",Macro,Fixed,1};
coreFunctions["ToStdout"] := {"LispToStdout",Macro,Fixed,1};
coreFunctions["Load"] := {"LispLoad",Function,Fixed,1};
coreFunctions["Set"] := {"LispSetVar",Macro,Fixed,2};
coreFunctions["MacroSet"] := {"LispMacroSetVar",Macro,Fixed,2};
coreFunctions["Clear"] := {"LispClearVar",Macro,Variable,1};
coreFunctions["MacroClear"] := {"LispClearVar",Function,Variable,1};
coreFunctions["Local"] := {"LispNewLocal",Macro,Variable,1};
coreFunctions["MacroLocal"] := {"LispNewLocal",Function,Variable,1};
coreFunctions["Head"] := {"LispHead",Function,Fixed,1};
coreFunctions["MathNth"] := {"LispNth",Function,Fixed,2};
coreFunctions["Tail"] := {"LispTail",Function,Fixed,1};
coreFunctions["DestructiveReverse"] := {"LispDestructiveReverse",Function,Fixed,1};
coreFunctions["Length"] := {"LispLength",Function,Fixed,1};
coreFunctions["List"] := {"LispList",Macro,Variable,1};
coreFunctions["UnList"] := {"LispUnList",Function,Fixed,1};
coreFunctions["Listify"] := {"LispListify",Function,Fixed,1};
coreFunctions["Concat"] := {"LispConcatenate",Function,Variable,1};
coreFunctions["ConcatStrings"] := {"LispConcatenateStrings",Function,Variable,1};
coreFunctions["Delete"] := {"LispDelete",Function,Fixed,2};
coreFunctions["DestructiveDelete"] := {"LispDestructiveDelete",Function,Fixed,2};
coreFunctions["Insert"] := {"LispInsert",Function,Fixed,3};
coreFunctions["DestructiveInsert"] := {"LispDestructiveInsert",Function,Fixed,3};
coreFunctions["Replace"] := {"LispReplace",Function,Fixed,3};
coreFunctions["DestructiveReplace"] := {"LispDestructiveReplace",Function,Fixed,3};
coreFunctions["Atom"] := {"LispAtomize",Function,Fixed,1};
coreFunctions["String"] := {"LispStringify",Function,Fixed,1};
coreFunctions["CharString"] := {"LispCharString",Function,Fixed,1};
coreFunctions["FlatCopy"] := {"LispFlatCopy",Function,Fixed,1};
coreFunctions["Prog"] := {"LispProgBody",Macro,Variable,1};
coreFunctions["While"] := {"LispWhile",Macro,Fixed,2};
coreFunctions["If"] := {"LispIf",Macro,Variable,2};
coreFunctions["Check"] := {"LispCheck",Macro,Fixed,2};
coreFunctions["TrapError"] := {"LispTrapError",Macro,Fixed,2};
coreFunctions["GetCoreError"] := {"LispGetCoreError",Function,Fixed,0};
coreFunctions["Prefix"] := {"LispPreFix",Function,Fixed,2};
coreFunctions["Infix"] := {"LispInFix",Function,Fixed,2};
coreFunctions["Postfix"] := {"LispPostFix",Function,Fixed,2};
coreFunctions["Bodied"] := {"LispBodied",Function,Fixed,2};
coreFunctions["RuleBase"] := {"LispRuleBase",Macro,Fixed,2};
coreFunctions["MacroRuleBase"] := {"LispMacroRuleBase",Function,Fixed,2};
coreFunctions["RuleBaseListed"] := {"LispRuleBaseListed",Macro,Fixed,2};
coreFunctions["MacroRuleBaseListed"] := {"LispMacroRuleBaseListed",Function,Fixed,2};
coreFunctions["DefMacroRuleBase"] := {"LispDefMacroRuleBase",Macro,Fixed,2};
coreFunctions["DefMacroRuleBaseListed"] := {"LispDefMacroRuleBaseListed",Macro,Fixed,2};
coreFunctions["HoldArg"] := {"LispHoldArg",Macro,Fixed,2};
coreFunctions["Rule"] := {"LispNewRule",Macro,Fixed,5};
coreFunctions["MacroRule"] := {"LispMacroNewRule",Function,Fixed,5};
coreFunctions["UnFence"] := {"LispUnFence",Function,Fixed,2};
coreFunctions["Retract"] := {"LispRetract",Function,Fixed,2};
coreFunctions["MathNot"] := {"LispNot",Function,Fixed,1};
coreFunctions["MathAnd"] := {"LispLazyAnd",Macro,Variable,1};
coreFunctions["MathOr"] := {"LispLazyOr",Macro,Variable,1};
coreFunctions["Equals"] := {"LispEquals",Function,Fixed,2};
coreFunctions["LessThan"] := {"LispLessThan",Function,Fixed,2};
coreFunctions["GreaterThan"] := {"LispGreaterThan",Function,Fixed,2};
coreFunctions["IsFunction"] := {"LispIsFunction",Function,Fixed,1};
coreFunctions["IsAtom"] := {"LispIsAtom",Function,Fixed,1};
coreFunctions["IsNumber"] := {"LispIsNumber",Function,Fixed,1};
coreFunctions["IsInteger"] := {"LispIsInteger",Function,Fixed,1};
coreFunctions["IsList"] := {"LispIsList",Function,Fixed,1};
coreFunctions["IsString"] := {"LispIsString",Function,Fixed,1};
coreFunctions["IsBound"] := {"LispIsBound",Macro,Fixed,1};
coreFunctions["MathMultiply"] := {"LispMultiply",Function,Fixed,2};
coreFunctions["MathAdd"] := {"LispAdd",Function,Fixed,2};
coreFunctions["MathSubtract"] := {"LispSubtract",Function,Fixed,2};
coreFunctions["MathDivide"] := {"LispDivide",Function,Fixed,2};
coreFunctions["Builtin'Precision'Set"] := {"YacasBuiltinPrecisionSet",Function,Fixed,1};
coreFunctions["MathGetExactBits"] := {"LispGetExactBits",Function,Fixed,1};
coreFunctions["MathSetExactBits"] := {"LispSetExactBits",Function,Fixed,2};
coreFunctions["MathBitCount"] := {"LispBitCount",Function,Fixed,1};
coreFunctions["MathSign"] := {"LispMathSign",Function,Fixed,1};
coreFunctions["MathIsSmall"] := {"LispMathIsSmall",Function,Fixed,1};
coreFunctions["MathNegate"] := {"LispMathNegate",Function,Fixed,1};
coreFunctions["MathFloor"] := {"LispFloor",Function,Fixed,1};
coreFunctions["MathCeil"] := {"LispCeil",Function,Fixed,1};
coreFunctions["MathAbs"] := {"LispAbs",Function,Fixed,1};
coreFunctions["MathMod"] := {"LispMod",Function,Fixed,2};
coreFunctions["MathDiv"] := {"LispDiv",Function,Fixed,2};
coreFunctions["BitsToDigits"] := {"LispBitsToDigits",Function,Fixed,2};
coreFunctions["DigitsToBits"] := {"LispDigitsToBits",Function,Fixed,2};
coreFunctions["MathGcd"] := {"LispGcd",Function,Fixed,2};
coreFunctions["SystemCall"] := {"LispSystemCall",Function,Fixed,1};
coreFunctions["FastArcSin"] := {"LispFastArcSin",Function,Fixed,1};
coreFunctions["FastLog"] := {"LispFastLog",Function,Fixed,1};
coreFunctions["FastPower"] := {"LispFastPower",Function,Fixed,2};
coreFunctions["ShiftLeft"] := {"LispShiftLeft",Function,Fixed,2};
coreFunctions["ShiftRight"] := {"LispShiftRight",Function,Fixed,2};
coreFunctions["FromBase"] := {"LispFromBase",Function,Fixed,2};
coreFunctions["ToBase"] := {"LispToBase",Function,Fixed,2};
coreFunctions["MaxEvalDepth"] := {"LispMaxEvalDepth",Function,Fixed,1};
coreFunctions["DefLoad"] := {"LispDefLoad",Function,Fixed,1};
coreFunctions["Use"] := {"LispUse",Function,Fixed,1};
coreFunctions["RightAssociative"] := {"LispRightAssociative",Function,Fixed,1};
coreFunctions["LeftPrecedence"] := {"LispLeftPrecedence",Function,Fixed,2};
coreFunctions["RightPrecedence"] := {"LispRightPrecedence",Function,Fixed,2};
coreFunctions["IsBodied"] := {"LispIsBodied",Function,Fixed,1};
coreFunctions["IsInfix"] := {"LispIsInFix",Function,Fixed,1};
coreFunctions["IsPrefix"] := {"LispIsPreFix",Function,Fixed,1};
coreFunctions["IsPostfix"] := {"LispIsPostFix",Function,Fixed,1};
coreFunctions["OpPrecedence"] := {"LispGetPrecedence",Function,Fixed,1};
coreFunctions["OpLeftPrecedence"] := {"LispGetLeftPrecedence",Function,Fixed,1};
coreFunctions["OpRightPrecedence"] := {"LispGetRightPrecedence",Function,Fixed,1};
coreFunctions["Builtin'Precision'Get"] := {"YacasBuiltinPrecisionGet",Function,Fixed,0};
coreFunctions["BitAnd"] := {"LispBitAnd",Function,Fixed,2};
coreFunctions["BitOr"] := {"LispBitOr",Function,Fixed,2};
coreFunctions["BitXor"] := {"LispBitXor",Function,Fixed,2};
coreFunctions["Secure"] := {"LispSecure",Macro,Fixed,1};
coreFunctions["FindFile"] := {"LispFindFile",Function,Fixed,1};
coreFunctions["FindFunction"] := {"LispFindFunction",Function,Fixed,1};
coreFunctions["IsGeneric"] := {"LispIsGeneric",Function,Fixed,1};
coreFunctions["GenericTypeName"] := {"LispGenericTypeName",Function,Fixed,1};
coreFunctions["Array'Create"] := {"GenArrayCreate",Function,Fixed,2};
coreFunctions["Array'Size"] := {"GenArraySize",Function,Fixed,1};
coreFunctions["Array'Get"] := {"GenArrayGet",Function,Fixed,2};
coreFunctions["Array'Set"] := {"GenArraySet",Function,Fixed,3};
coreFunctions["CustomEval"] := {"LispCustomEval",Macro,Fixed,4};
coreFunctions["CustomEval'Expression"] := {"LispCustomEvalExpression",Function,Fixed,0};
coreFunctions["CustomEval'Result"] := {"LispCustomEvalResult",Function,Fixed,0};
coreFunctions["CustomEval'Locals"] := {"LispCustomEvalLocals",Function,Fixed,0};
coreFunctions["CustomEval'Stop"] := {"LispCustomEvalStop",Function,Fixed,0};
coreFunctions["TraceRule"] := {"LispTraceRule",Macro,Fixed,2};
coreFunctions["TraceStack"] := {"LispTraceStack",Macro,Fixed,1};
coreFunctions["LispRead"] := {"LispReadLisp",Function,Fixed,0};
coreFunctions["LispReadListed"] := {"LispReadLispListed",Function,Fixed,0};
coreFunctions["Type"] := {"LispType",Function,Fixed,1};
coreFunctions["StringMid'Get"] := {"YacasStringMidGet",Function,Fixed,3};
coreFunctions["StringMid'Set"] := {"YacasStringMidSet",Function,Fixed,3};
coreFunctions["Pattern'Create"] := {"GenPatternCreate",Function,Fixed,2};
coreFunctions["Pattern'Matches"] := {"GenPatternMatches",Function,Fixed,2};
coreFunctions["RuleBaseDefined"] := {"LispRuleBaseDefined",Function,Fixed,2};
coreFunctions["DefLoadFunction"] := {"LispDefLoadFunction",Function,Fixed,1};
coreFunctions["RuleBaseArgList"] := {"LispRuleBaseArgList",Function,Fixed,2};
coreFunctions["RulePattern"] := {"LispNewRulePattern",Macro,Fixed,5};
coreFunctions["MacroRulePattern"] := {"LispMacroNewRulePattern",Function,Fixed,5};
coreFunctions["Subst"] := {"LispSubst",Function,Fixed,3};
coreFunctions["LocalSymbols"] := {"LispLocalSymbols",Macro,Variable,1};
coreFunctions["FastIsPrime"] := {"LispFastIsPrime",Function,Fixed,1};
coreFunctions["MathFac"] := {"LispFac",Function,Fixed,1};
coreFunctions["ApplyPure"] := {"LispApplyPure",Function,Fixed,2};
coreFunctions["PrettyReader'Set"] := {"YacasPrettyReaderSet",Function,Variable,1};
coreFunctions["PrettyReader'Get"] := {"YacasPrettyReaderGet",Function,Fixed,0};
coreFunctions["PrettyPrinter'Set"] := {"YacasPrettyPrinterSet",Function,Variable,1};
coreFunctions["PrettyPrinter'Get"] := {"YacasPrettyPrinterGet",Function,Fixed,0};
coreFunctions["GarbageCollect"] := {"LispGarbageCollect",Function,Fixed,0};
coreFunctions["SetGlobalLazyVariable"] := {"LispSetGlobalLazyVariable",Macro,Fixed,2};
coreFunctions["PatchLoad"] := {"LispPatchLoad",Function,Fixed,1};
coreFunctions["PatchString"] := {"LispPatchString",Function,Fixed,1};
coreFunctions["ExtraInfo'Set"] := {"YacasExtraInfoSet",Function,Fixed,2};
coreFunctions["ExtraInfo'Get"] := {"YacasExtraInfoGet",Function,Fixed,1};
coreFunctions["DefaultTokenizer"] := {"LispDefaultTokenizer",Function,Fixed,0};
coreFunctions["CommonLispTokenizer"] := {"LispCommonLispTokenizer",Function,Fixed,0};
coreFunctions["XmlTokenizer"] := {"LispXmlTokenizer",Function,Fixed,0};
coreFunctions["XmlExplodeTag"] := {"LispExplodeTag",Function,Fixed,1};
coreFunctions["Builtin'Assoc"] := {"YacasBuiltinAssoc",Function,Fixed,2};
coreFunctions["CurrentFile"] := {"LispCurrentFile",Function,Fixed,0};
coreFunctions["CurrentLine"] := {"LispCurrentLine",Function,Fixed,0};
coreFunctions["`"] := {"LispBackQuote",Macro,Fixed,1};
coreFunctions["MathDebugInfo"] := {"LispDumpBigNumberDebugInfo",Function,Fixed,1};
coreFunctions["InDebugMode"] := {"LispInDebugMode",Function,Fixed,0};
coreFunctions["DebugFile"] := {"LispDebugFile",Function,Fixed,1};
coreFunctions["DebugLine"] := {"LispDebugLine",Function,Fixed,1};
coreFunctions["Version"] := {"LispVersion",Function,Fixed,0};
coreFunctions["Exit"] := {"LispExit",Function,Fixed,0};
coreFunctions["IsExitRequested"] := {"LispExitRequested",Function,Fixed,0};
coreFunctions["HistorySize"] := {"LispHistorySize",Function,Fixed,1};
coreFunctions["StaSiz"] := {"LispStackSize",Function,Fixed,0};
coreFunctions["IsPromptShown"] := {"LispIsPromptShown",Function,Fixed,0};
coreFunctions["ReadCmdLineString"] := {"LispReadCmdLineString",Function,Fixed,1};
coreFunctions["GetTime"] := {"LispTime",Macro,Fixed,1};
coreFunctions["FileSize"] := {"LispFileSize",Function,Fixed,1};
