5.78 How to search packages and libraries?

To find in which library a command is do

with(LibraryTools); 
FindLibrary('int',all); #find which library command int is in 
 
"C:\Program Files\Maple 18\lib\update.mla", 
"C:\Program Files\Maple 18\lib\DEsAndMathematicalFunctions18.mla", 
"C:\Program Files\Maple 18\lib\maple.mla"
 

To get content of library do

restart; 
with(LibraryTools): 
LibLocation:=cat(kernelopts(mapledir),"/lib/maple.mla"); 
c:=ShowContents(LibLocation);
 

Then can use this to print the name of each symbol/command, and then use whattype command to find its type

seq(c[i,1],i=1..20);
 

To get list of Maple kernel builtin commands and symbols, use this. Written by Acer from Maple prime site:

restart: 
interface(warnlevel=0): 
started := false: 
T := 'T': 
for i from 1 to 1000 do 
  f := eval(parse(cat("proc() option builtin=",i,"; end proc"))); 
  p := (s->StringTools:-Take(s,StringTools:-Search(";",s)-1))(convert(eval(f),string)[26..]); 
  if not type(parse(p),posint) then 
    T[i] := p; 
    started := true; 
  else 
    if started then i:=1000; next; end if; 
  end if; 
end do: 
i; 
[ entries(T,nolist) ]; 
nops(%);
 

The above gives on Maple 18.02 the following

["crinterp", "equation", "`{}`", "even", "debugopts", 
  "embedded_imaginary", "define_external", "embedded_real", 
  "coeff", "cx_zero", "coeffs", "embedded_axis", "conjugate", 
  "constant", "convert", "cx_infinity", "dlclose", "identical", 
  "divide", "hfloat", "`done`", "function", "`$`", "fraction", 
  "denom", "float", "degree", "finite", "disassemble", 
  "extended_rational", "diff", "extended_numeric", "frem", 
  "`union`", "frontend", "upperbound", "exports", "writeto", 
  "factorial", "`xor`", "evalgf1", "type", "expand", "typematch", 
  "entries", "unames", "evalb", "unbind", 
  "`evalf/hypergeom/kernel`", "atomic", "hfarray", "anything", 
  "hastype", "complex", "has", "boolean", "goto", "`:-`", 
  "gmp_isprime", "`!`", "genpoly", "anyfunc", "gc", "algebraic", 
  "SFloatMantissa", "ssystem", "Scale10", "`stop`", "Scale2", 
  "sort", "SearchText", "`[]`", "`~`", "`subset`", "~Array", 
  "subsindets", "~Matrix", "streamcall", "~Vector", "subs", 
  "Unordered", "table", "ToInert", "system", 
  "_hackwareToPointer", "substring", "UpdateSource", "subsop", 
  "_maplet", "trunc", "_jvm", "`kernel/transpose`", "_treeMatch", 
  "tcoeff", "_savelib", "taylor", "abs", "rtable_num_dims", 
  "addressof", "rtable_num_elems", "_unify", "rtable_options", 
  "_xml", "rtable_redim", "`and`", "rtable_scale", "andmap", 
  "rtable_scanblock", "alias", "rtable_size", "anames", 
  "rtable_sort_indices", "assign", "savelib", "assemble", 
  "rtable_zip", "array", "select", "appendto", "searchtext", 
  "cat", "series", "callback", "selectremove", "bind", "sign", 
  "attributes", "setattribute", "ormap", "ArrayOptions", "order", 
  "Array", "parse", "`**`", "overload", "`*`", "`::`", "numer", 
  "CopySign", "numelems", "`^`", "`or`", "`||`", "op", "nops", 
  "seq", "normal", "time", "`not`", "piecewise", "numboccur", 
  "`?[]`", "userinfo", "modp2", "inner", "mods", "timelimit", 
  "mvMultiply", "traperror", "negate", "rtable_normalize_index", 
  "call_external", "rtable_is_zero", "assigned", "rtable_indfns", 
  "evalf", "rtable_histogram", "eval", "evaln", "rtable_eval", 
  "truefalse", "evalhf", "rtable_convolution", "tabular", "mul", 
  "rtableInfo", "zppoly", "`if`", "rtable", "uneval", "remove", 
  "sfloat", "rhs", "specfunc", "readlib", "string", "reduce_opr", 
  "symbol", "ASSERT", "`?()`", "realcons", "TRACE", "`quit`", 
  "relation", "_local", "pointto", "sequential", "add", "print", 
  "set", "SFloatExponent", "iolib", "radical", "SDMPolynom", 
  "`int/series`", "protected", "Record", "irem", "procedure", 
  "Re", "iquo", "poszero", "isqrt", "real_infinity", "RETURN", 
  "is_gmp", "ratpoly", "`+`", "lcoeff", "rational", "OrderedNE", 
  "kernelopts", "range", "Object", "NumericEventHandler", 
  "icontent", "numeric", "NumericStatus", "igcd", "odd", 
  "NumericClass", "ilog10", "nonpositive", "NumericEvent", 
  "ilog2", "nonreal", "`implies`", "posint", "NameSpace", 
  "indets", "positive", "NextAfter", "indices", "polynom", 
  "MPFloat", "`intersect`", "pos_infinity", "MorrBrilCull", 
  "`<`", "member", "neg_infinity", "Im", "maxnorm", "name", 
  "`<>`", "max", "negint", "`<=`", "map2", "negative", "modp1", 
  "nonnegative", "FromInert", "modp", "negzero", 
  "EqualStructure", "`minus`", "nonposint", "`>=`", "min", 
  "nonnegint", "`>`", "DefaultUnderflow", "lexorder", 
  "imaginary", "`=`", "lhs", "indexable", "ERROR", "ldegree", 
  "indexed", "EqualEntries", "length", "integer", "macro", 
  "list", "DEBUG", "map", "literal", "`..`", "lowerbound", 
  "`module`", "Default0", "lprint", "moduledefinition", 
  "DefaultOverflow"] 
                              296