# Thing -- the class of all things

## Description

Everything in Macaulay2 is a thing. This includes numbers, strings, and lists. More complicated things such as polynomials, groups, rings, and chain complexes are implemented as hash tables. See Type for information about what types of things there are.

## Types of thing :

• BasicList -- the class of all basic lists
• Boolean -- the class of Boolean values
• CompiledFunctionBody -- the class of all compiled function bodies
• Database -- the class of all database files
• Dictionary -- the class of all dictionaries
• File -- the class of all files
• Function -- the class of all functions
• FunctionBody -- the class of function bodies
• HashTable -- the class of all hash tables
• Net -- the class of all nets and strings
• NetFile -- the class of all net files
• Nothing -- the empty class
• Number -- the class of all numbers
• Pseudocode -- the class of pseudocodes
• Symbol -- the class of all symbols
• SymbolBody (missing documentation)
• Thing -- the class of all things

## Methods that use a thing :

• "HashTable #? Thing" -- see #? -- check existence of value in a list, hash table, database, or string
• "Thing * List" -- see * -- a binary operator, usually used for multiplication
• "Thing =!= Thing" -- see =!= -- strict inequality
• "Thing => Thing" -- see => -- produce an Option
• "accumulate(Function,Thing,VisibleList)" -- see accumulate -- apply a binary operator repeatedly
• "accumulate(VisibleList,Thing,Function)" -- see accumulate -- apply a binary operator repeatedly
• "assert(Thing)" -- see assert -- assert something is true
• "baseName(Thing)" -- see baseName -- the base name of a generator
• between(Thing,VisibleList) -- insert something between elements of a list
• "Command Thing" -- see Command -- the class of all commands
• "describe(Thing)" -- see describe -- real description
• "dictionary(Thing)" -- see dictionary -- determine the dictionary to which a symbol belongs
• "makeDocumentTag(Thing)" -- see DocumentTag -- the class of all document tags
• "examples(Thing)" -- see examples -- list the examples in documentation
• "Expression != Thing" -- see Expression -- the class of all expressions
• "Expression % Thing" -- see Expression -- the class of all expressions
• "Expression & Thing" -- see Expression -- the class of all expressions
• "Expression * Thing" -- see Expression -- the class of all expressions
• "Expression ** Thing" -- see Expression -- the class of all expressions
• "Expression + Thing" -- see Expression -- the class of all expressions
• "Expression ++ Thing" -- see Expression -- the class of all expressions
• "Expression - Thing" -- see Expression -- the class of all expressions
• "Expression .. Thing" -- see Expression -- the class of all expressions
• "Expression ..< Thing" -- see Expression -- the class of all expressions
• "Expression / Thing" -- see Expression -- the class of all expressions
• "Expression : Thing" -- see Expression -- the class of all expressions
• "Expression <== Thing" -- see Expression -- the class of all expressions
• "Expression <=== Thing" -- see Expression -- the class of all expressions
• "Expression <==> Thing" -- see Expression -- the class of all expressions
• "Expression == Thing" -- see Expression -- the class of all expressions
• "Expression ===> Thing" -- see Expression -- the class of all expressions
• "Expression ==> Thing" -- see Expression -- the class of all expressions
• "Expression @ Thing" -- see Expression -- the class of all expressions
• "Expression @@ Thing" -- see Expression -- the class of all expressions
• "Expression ^ Thing" -- see Expression -- the class of all expressions
• "Expression ^** Thing" -- see Expression -- the class of all expressions
• "Expression ^^ Thing" -- see Expression -- the class of all expressions
• "Expression _ Thing" -- see Expression -- the class of all expressions
• "Expression | Thing" -- see Expression -- the class of all expressions
• "Expression |- Thing" -- see Expression -- the class of all expressions
• "Expression || Thing" -- see Expression -- the class of all expressions
• "Expression and Thing" -- see Expression -- the class of all expressions
• "Expression or Thing" -- see Expression -- the class of all expressions
• "Expression Thing" -- see Expression -- the class of all expressions
• "Thing != Expression" -- see Expression -- the class of all expressions
• "Thing % Expression" -- see Expression -- the class of all expressions
• "Thing & Expression" -- see Expression -- the class of all expressions
• "Thing * Expression" -- see Expression -- the class of all expressions
• "Thing ** Expression" -- see Expression -- the class of all expressions
• "Thing + Expression" -- see Expression -- the class of all expressions
• "Thing ++ Expression" -- see Expression -- the class of all expressions
• "Thing - Expression" -- see Expression -- the class of all expressions
• "Thing .. Expression" -- see Expression -- the class of all expressions
• "Thing ..< Expression" -- see Expression -- the class of all expressions
• "Thing / Expression" -- see Expression -- the class of all expressions
• "Thing : Expression" -- see Expression -- the class of all expressions
• "Thing <== Expression" -- see Expression -- the class of all expressions
• "Thing <=== Expression" -- see Expression -- the class of all expressions
• "Thing <==> Expression" -- see Expression -- the class of all expressions
• "Thing == Expression" -- see Expression -- the class of all expressions
• "Thing ===> Expression" -- see Expression -- the class of all expressions
• "Thing ==> Expression" -- see Expression -- the class of all expressions
• "Thing @ Expression" -- see Expression -- the class of all expressions
• "Thing @@ Expression" -- see Expression -- the class of all expressions
• "Thing ^ Expression" -- see Expression -- the class of all expressions
• "Thing ^** Expression" -- see Expression -- the class of all expressions
• "Thing ^^ Expression" -- see Expression -- the class of all expressions
• "Thing _ Expression" -- see Expression -- the class of all expressions
• "Thing | Expression" -- see Expression -- the class of all expressions
• "Thing |- Expression" -- see Expression -- the class of all expressions
• "Thing || Expression" -- see Expression -- the class of all expressions
• "Thing and Expression" -- see Expression -- the class of all expressions
• "Thing Expression" -- see Expression -- the class of all expressions
• "Thing or Expression" -- see Expression -- the class of all expressions
• "<< Thing" -- see File << Thing -- print to a file
• File << Thing -- print to a file
• "List << Thing" -- see File << Thing -- print to a file
• "Nothing << Thing" -- see File << Thing -- print to a file
• "String << Thing" -- see File << Thing -- print to a file
• "fold(Function,Thing,VisibleList)" -- see fold -- apply a binary operator repeatedly
• "fold(VisibleList,Thing,Function)" -- see fold -- apply a binary operator repeatedly
• Function _ Thing -- attach the first argument to a function of two or more arguments
• "help(Thing)" -- see help -- view documentation nodes
• "hooks(Thing)" -- see hooks -- list hooks attached to a key
• "IndexedVariableTable _ Thing" -- see IndexedVariableTable
• "IndexedVariableTable _ Thing = Thing" -- see IndexedVariableTable
• IndexedVariableTable .. Thing (missing documentation)
• IndexedVariableTable ..< Thing (missing documentation)
• "insert(ZZ,Thing,VisibleList)" -- see insert -- copy a list, inserting an element
• "instance(Thing,Type)" -- see instance -- whether something has a certain type
• "isFreeModule(Thing)" -- see isFreeModule -- whether something is a free module
• "isIdeal(Thing)" -- see isIdeal -- whether something is an ideal
• "isModule(Thing)" -- see isModule -- whether something is a module
• "isMonomialIdeal(Thing)" -- see isMonomialIdeal -- whether something is a monomial ideal
• "isPolynomialRing(Thing)" -- see isPolynomialRing -- whether someting is a polynomial ring
• "isQuotientModule(Thing)" -- see isQuotientModule -- whether something is evidently a quotient of a free module
• "isRing(Thing)" -- see isRing -- whether something is a ring
• "isSubmodule(Thing)" -- see isSubmodule -- whether a module is evidently a submodule of a free module
• List / Thing -- vector division
• "member(Thing,Set)" -- see member -- test membership in a list or set
• "member(Thing,VisibleList)" -- see member -- test membership in a list or set
• "methods(Thing)" -- see methods -- list methods
• MonoidElement .. Thing (missing documentation)
• MonoidElement ..< Thing (missing documentation)
• "mutable(Thing)" -- see mutable -- whether something may be modified
• "package(Thing)" -- see package -- get containing package
• peek'(ZZ,Thing) -- examine contents of an object
• "prepend(Thing,BasicList)" -- see prepend -- add an element to the beginning of a list
• "remove(HashTable,Thing)" -- see remove -- remove an entry from a mutable hash table
• replace(ZZ,Thing,VisibleList) -- copy a list, replacing an element
• RingElement .. Thing (missing documentation)
• RingElement ..< Thing (missing documentation)
• "runHooks(MutableHashTable,Thing,Thing)" -- see runHooks -- run the hook functions stored in an object
• "runHooks(Sequence,Thing)" -- see runHooks -- run the hook functions stored in an object
• "runHooks(Symbol,Thing)" -- see runHooks -- run the hook functions stored in an object
• "schedule(Function,Thing)" -- see schedule -- schedule a task for execution
• "ScriptedFunctor ^ Thing" -- see ScriptedFunctor -- the class of all scripted functors
• "ScriptedFunctor _ Thing" -- see ScriptedFunctor -- the class of all scripted functors
• "ScriptedFunctor Thing" -- see ScriptedFunctor -- the class of all scripted functors
• "SelfInitializingType Thing" -- see SelfInitializingType -- the class of all self initializing types
• Set #? Thing -- test set membership
• "substitute(Divide,Thing)" -- see substitute -- substituting values for variables
• "substitute(Power,Thing)" -- see substitute -- substituting values for variables
• "substitute(Product,Thing)" -- see substitute -- substituting values for variables
• "substitute(Sum,Thing)" -- see substitute -- substituting values for variables
• Symbol _ Thing -- index variable
• Symbol _ Thing = Thing -- assignment to an indexed variable
• "SYNOPSIS(Thing)" -- see SYNOPSIS -- a standardized synopsis for use in documentation nodes
• Thing - Minus (missing documentation)
• Thing .. IndexedVariableTable (missing documentation)
• Thing .. MonoidElement (missing documentation)
• Thing .. RingElement (missing documentation)
• Thing ..< IndexedVariableTable (missing documentation)
• Thing ..< MonoidElement (missing documentation)
• Thing ..< RingElement (missing documentation)
• /// Command \\ Thing /// -- see Thing // Function -- apply a function
• /// Function \\ Thing /// -- see Thing // Function -- apply a function
• /// SelfInitializingType \\ Thing /// -- see Thing // Function -- apply a function
• "Thing // Command" -- see Thing // Function -- apply a function
• Thing // Function -- apply a function
• "Thing // SelfInitializingType" -- see Thing // Function -- apply a function
• Thing === Thing -- strict equality
• "ultimate(Function,Thing)" -- see ultimate -- ultimate value for an iteration
• "undocumented(Thing)" -- see undocumented -- declare that something need not be documented
• "viewHelp(Thing)" -- see viewHelp -- view online documentation in a web browser
• VirtualTally _ Thing -- get a count from a tally
• "WrapperType Thing" -- see WrapperType -- a class of lists with abbreviated constructors
• ZZ : Thing -- repeat an item

## For the programmer

The object Thing is a type, with no ancestor class..