= Glossary of J terms = :{| class="wikitable" |- |Addon | A vendor- or author-maintained library of J applications and utilities for downloading on request by the J user. |- |Adverb | An adverb modifies the [[#Word|word]] or phrase to its left to produce a [[#Derived|derived entity]] which is usually a [[#Verb|verb]] (though it may be any of the [[#Primary|four primary parts of speech]]). [[Vocabulary/Modifiers|More...]] |- |Agenda | A [[#Verb|verb]] encapsulated in a [[#Gerund|gerund]] may be extracted and activated as specified by use of the [[Vocabulary/atdot|Agenda]] adverb. |- |Agree | The arguments of a [[#Dyad|dyadic]] [[#Verb|verb]] agree if their [[#Frame|frames]] are identical, or one is a [[#Prefix|prefix]] of the other. [[Vocabulary/Agreement|More...]] |- |Ambivalent | (of a verb) Able to be executed either as a [[#Monad|monad]] or as a [[#Dyad|dyad]]. |- |Anonymous | Having no [[#Name|name]]. Said of the [[#Result|result]] of an [[#Execution|execution]], which has no name unless one is then associated with it by an [[#Assignment|assignment]]. |- |Argument | A [[#Noun|noun]] [[#Value|value]] that is supplied to a [[#Verb|verb]] when the verb is [[#Execution|executed]]. |- |Array | A [[#Noun|noun]] comprised of [[#Atom|atoms]] arranged along zero or more orthogonal [[#Axis|axes]]. Each [[#Atom|atom]] is identified by its [[#IndexList|index list]], specifying one index value for each axis. J arrays are rectangular, meaning that all 1-[[#Cell|cells]] contain an identical number of 0-[[#Cell|cells]] (atoms), and all 2-[[#Cell|cells]] contain an identical number of 1-[[#Cell|cells]] (lists), and so on. The atoms of an array must all have the same [[#Type|type]] and [[#Precision|precision]]. [[Vocabulary/Nouns#Atom|More...]] |- |Array of [***] | A [[#Noun|noun]] comprising [[#Cell|cells]], each of which is of some designated form: [***], arranged along 0 or more [[#Axis|axes]]. Each [[#Cell|cell]] is identified by its [[#IndexList|index list]], specifying one index value for each relevant leading axis. [[Vocabulary/Nouns#Atom|More...]] |- |ASCII | An interpretation of [[#Byte|bytes]] according to the [[WikiPedia:ASCII|ASCII standard]]. |- |Assembly | The final phase of [[#Execution|execution]] of a [[#Verb|verb]], in which the [[#Result|results]] of its [[#Execution|execution]] on individual [[#Cell|cells]] are brought to a common [[#Shape|shape]] by adding [[#FramingFill|framing fill]] where necessary, and then assembled into an [[#Array|array]] whose [[#Frame|frame with respect to result cells]] is the [[#Frame|frame of the verb]]. [[Vocabulary/FramingFill#Assembly|More...]] |- |Assignment | Assignment attaches a [[#Value|value]] to a [[#Name|name]], thus [[#Defined|defining]] or re-defining the name. A defined name will be replaced by its attached value whenever the name is [[#Execution|executed]]. Assignments use the [[#Copula|copulas]] =. and =:. |- |Atom | Any single number, character, [[#Box|box]], or [[#Symbol|symbol]]. An atom is a [[#Noun|noun]] with [[#Rank|rank]] 0, and is also called a [[#Scalar|scalar]]. [[Vocabulary/Nouns#Atom|More...]] |- |Atomic Representation | A [[#Box|box]] whose contents serve to define all important aspects of a [[#Value|value]]. Every [[#Value|value]], whatever its [[#PartOfSpeech|part of speech]], has an atomic representation, which is a [[#Noun|noun]]. [[Vocabulary/Foreigns#atomicrep|More...]] |- |Axis | One of the dimensions along which the [[#Atom|atoms]] of an [[#Array|array]] are arranged. The [[#Atom|atoms]] of every [[#Noun|noun]] are arranged along zero or more axes, of finite length. Each unique [[#ListOf|list of]] nonnegative integers, each of which is less than the length of the corresponding axis, constitutes an indexlist for a unique [[#Atom|atom]] of the [[#Noun|noun]]. [[Vocabulary/Nouns#Atom|More...]] |- |Block | See [[#Bblock|B-block]]. |- |B-block | A sequence of [[#Sentence|sentences]] delimited by two [[#Control|controls]], typically do. or case. and end. . [[Vocabulary/TBlock#Bblock|More...]] |- |Bivalent | See [[#Ambivalent|ambivalent]]. |- |Body | (of an [[#ExplicitEntity|explicit entity]]) A sequence of [[#Sentence|sentences]] that are executed one by one when the [[#Entity|entity]] is invoked. |- |Boolean | A [[#Numeric|numeric]] [[#Precision|precision]] whose value is restricted to the values 0 and 1. Comparisons and tests, such as =, <, and e., produce Boolean values. In accordance with the [[#IversonConvention|Iverson convention]], these Boolean values are identical to the numeric values 0 and 1 and can participate in numeric expressions. |- |Box | Any [[#Noun|noun]] can be enclosed in a box to create a new noun, an [[#Atom|atom]] whose [[#Type|type]] and [[#Precision|precision]] are "boxed". The noun so enclosed is the [[#Contents|contents]] of the box. The contents of the box can be recovered by [[#Opening|opening]] the box. Boxes can be arranged in an [[#Array|array]] even if their contents differ in shape or type, producing a heterogeneous array. [[Vocabulary/Nouns#Box|More...]] |- |Boxed | A [[#Type|type]] and [[#Precision|precision]] of [[#Noun|noun]]. A [[#Noun|noun]] is boxed if its atoms are [[#Box|boxes]]. [[Vocabulary/Nouns#Box|More...]] |- |Boxing | Enclosing a [[#Noun|noun]] of arbitrary [[#Type|type]] in a [[#Box|box]] to produce an [[#Atom|atom]]. [[Vocabulary/Nouns#Box|More...]] |- |Boxing Level | For an unboxed or empty [[#Noun|noun]], 0; otherwise, one more than the highest box-nesting level of the contents of its [[#Atom|atoms]]. |- |Boxing Path | A list of boxes used to designate a boxed or unboxed subarray of items inside a boxed noun b. The first atom of the boxing path p contains an index list selecting atoms of b; which are then opened. The contents of the next item of p select atoms from within their respective opened subarrays; and so on, until p is exhausted. The atom or larger array selected by the cumulative index lists of p is the subtree of b designated by p. It retains the original containment relationships between the selected elements, without the non-selected elements. |- |Brick | An [[#Array|array]] of [[#Rank|rank]] 3; a three-dimensional [[#Array|array]]. [[Vocabulary/Nouns#Atom|More...]] |- |Brick of [***] | An [[#Array|array]] whose _3-[[#Cell|cells]] are of some designated form: [***]; as in "brick of 3-[[#Item|item]] [[#List|lists]]". |- |Byte | A [[#Character|character]] [[#Precision|precision]] with 256 different 8-bit values. |- |Call by name | (of a word in a sentence during execution) Referring to an operand by using its name. Named verbs, adverbs, and conjunctions are passed by name, except for the special names u, v, u., and v.. |- |Call by reference | (of a word in a sentence during execution) Referring to an operand by pointing anonymously to its value. In J, all words that are not passed by name are passed by reference. This occurs whenever a verb is applied to the result of an expression without an intervening assignment. |- |Carriage Return | The [[#Byte|byte]]: ASCII 13, the value of public noun CR. |- |Cell | A subarray of a [[#Noun|noun]] consisting of all the [[#Atom|atoms]] of the [[#Noun|noun]] whose [[#IndexList|index lists]] share a common prefix. For nonnegative k, each k-cell of a [[#Noun|noun]] whose [[#Shape|shape]] is s has the [[#Shape|shape]] ((- k <. #s) {. s) and together they can be assembled to reconstruct the [[#Noun|noun]]. For negative k, the k-cells are defined to be the (0 >. k + #s)-cells.

0-cells are [[#Atom|atoms]], 1-cells are [[#List|lists]], 2-cells are [[#Table|tables]], and 3-cells are [[#Brick|bricks]]. _1-cells of a [[#Table|table]] are [[#List|lists]], _2-cells are [[#Atom|atoms]]. [[Vocabulary/Nouns#Cell|More...]] |- |Character | A [[#Type|type]] of [[#Noun|noun]] representing one or more alphabetic and other characters. Character [[#Precision|precisions]] include [[#Byte|byte]] and [[#Unicode|unicode]]. |- |Collection | See [[#Assembly|assembly]]. |- |Common Frame | (when executing a [[#Dyad|dyadic]] [[#Verb|verb]]) The shorter of the [[#Argument|argument]] [[#Frame|frames]]. [[Vocabulary/Agreement|More...]] |- |Comparison Tolerance | The system setting that specifies the maximum relative difference between two values that will be considered [[#TolerantComp|tolerantly equal]]. Set by 9!:19, read by 9!:18; can be temporarily overridden by the [[Vocabulary/bangdot|Fit conjunction]] !.f. |- |Complex | A [[#Numeric|numeric]] [[#Precision|precision]] that stores the real and imaginary parts of complex numbers in IEEE-754 double-precision floating-point format. |- |Compound Verb | A [[#TacitDefinition|tacit definition]] formed from primitive verbs using a modifier such as [[Vocabulary/at|Atop]] (@) or [[Vocabulary/fork|Fork]]. |- |Conjunction | A conjunction modifies the [[#Word|words]] or phrases to its left and right to produce a [[#Derived|derived entity]] which is usually a [[#Verb|verb]], though it can be any of the [[#Primary|four primary parts of speech]]. [[Vocabulary/Modifiers|More...]] |- |Constant | A [[#Word|word]] that represents a [[JDic:dcons|number]], a character in quotes (e.g. 'a'), or a [[#List|list]] of either type. |- |Contents | (of a [[#Box|box]]) The [[#Noun|noun]] that is enclosed in a box. The contents can be recovered by [[#Opening|opening]] the [[#Box|box]] with [[Vocabulary/gt|Open]]: >). [[Vocabulary/Nouns#Box|More...]] |- |Control | See [[#ControlWord|Control Word]]. |- |Control Word | A [[#Primitive|primitive]] [[#Name|name]], inflected with a period (.), that controls program flow. A control word ends the preceding [[#Sentence|sentence]] and is not part of any sentence. [[Vocabulary/Words#ControlWords|More...]] |- |Copula | One of the [[#PartOfSpeech|parts of speech]], signifying an [[#Assignment|assignment]] of a [[#Value|value]] to a [[#Name|name]]. The copulas are [[Vocabulary/eqdot|Is (Local)]] (=.) and [[Vocabulary/eqco|Is (Global)]] (=:). |- |Current Locale | See [[#ImpliedLocale|implied locale]]. |- |Debug Thread | The [[#Thread|thread]] that debugging commands are executed in. |- |Defined | (of a [[#Name|name]]) Having a place and a [#Value|value]] in a [[#Namespace|namespace]] as a result of having been the target of an [[#Assignment|assignment]]. |- |Definition | J code which, when executed, creates an [[#Entity|entity]], often specified by use of the [[Vocabulary/com|Explicit]] conjunction (:) , that creates an [[#ExplicitEntity|explicit entity]]. |- |Derived Entity | The [[#Result|result]] of executing an [[#Adverb|adverb]] or [[#Conjunction|conjunction]]. Usually a [[#Verb|verb]]. If the [[#PartOfSpeech|part of speech]] of a derived entity is known, it may be called, for example, a derived [[#Verb|verb]]. [[Vocabulary/Modifiers#ModifierExecution|More...]] |- |Derived Value | A synonym of [[#Derived|Derived Entity]]. |- |Direct Definition | An [[ExplicitEntity|explicit entity]] created by exclosing the [[Body|body]] of the entity inside {{ }}. |- |Dyad (dyadic) | A [[#Verb|verb]] which executes with both left and right [[#Argument|arguments]] (x- and y-arguments). For a dyadic execution to occur, the verb must have a dyadic [[#Valence|valence]] defined. [[Vocabulary/Verbs#Valence|More...]] |- |Element | A [[#Noun|noun]], a candidate [[#Item|item]] of an [[#Array|array]]. |- |Empty | (of an [[#Array|array]]) Having no [[#Atom|atoms]]. An empty array has 0 in its [[#Shape|shape]] - but still it may have [[#Item|items]], if they are also empty (e.g. 4 0 3$0). [[Vocabulary/Nouns#Empty|More...]]

(of an argument of a verb) Having no [[#Cell|cells]]; having a 0 in the [[#Frame|frame]] of its argument. |- |end. | A control word, terminating sequences of sentences which begin with if. , for. , for_ijk. , while. , or whilst. . | |- |Entity | A [[#Noun|noun]], [[#Verb|verb]], [[#Conjunction|conjunction]], or [[#Adverb|adverb]]. An entity is either a [[#Word|word]] in a [[#Sentence|sentence]] or a [[#Derived|derived entity]] resulting from [[#Execution|execution]]. Entities participate in [[#Execution|execution]] and are used as [[#Value|values]] in [[#Assignment|assignment]]. |- |Execution | The process of replacing a [[#Verb|verb]] and its [[#Argument|arguments]] on the [[#ExecutionStack|execution stack]] with the [[#Noun|noun]] [[#Result|result]] from applying the [[#Verb|verb]] to those arguments; or from converting a [[#Fragment|fragment]] into a [[#Derived|derived entity]] in accordance with the definition of the [[#Fragment|fragment]], and replacing the [[#Fragment|fragment]] on the [[#ExecutionStack|execution stack]] by a single [[#Word|synthetic word]] referring to the [[#Derived|derived entity]]. Execution of a [[#Sentence|sentence]] proceeds generally right to left and ends with a single [[#Result|result]] which may be any type of [[#Entity|entity]]. |- |Execution Stack | The set of [[#Word|words]] of a [[#Sentence|sentence]] that have been examined by [[#Parsing|parsing]] in the search for an executable [[#Fragment|fragment]], as modified by the replacements performed by [[#Execution|execution]]. |- |Explicit Definition | The J code, beginning with a type specification and the [[Vocabulary/com|Explicit]] conjunction (:), or enclosed inside {{ }} in a direct definition, that creates an [[#ExplicitEntity|explicit entity]]. |- |Explicit Entity | A noun explicit entity is a character string which may contain multiple [[#Line|lines]] of text of any sort, including dormant lines of code. A non-noun explicit [[#Entity|entity]] has a [[#Body|body]] whose [[#Sentence|sentences]] may be executed one by one. While the body is being executed, the entity has its own [[#Private|private]] [[#Namespace|namespace]]. Explicit entities are created by the : conjunction or by its synonym define, with noun operands (m : n), or by [[#DirectDefinition|direct definition]] by enclosing the text of the entity inside {{ }}. The arguments/operands to an explicit entity are referred to by the special [[#Name|names]] x, y, u, v, m, n, u., and v., which are initialized locally in the [[#Private|private]] [[#Namespace|namespace]] of the entity when the [[#Body|body]] starts execution. |- |Explicit Locale | A [[#Locale|locale]] identifier appended to a [[#SimpleName|simple name]] to create an [[#ExplicitLocative|explicit locative]]. [[Vocabulary/Locales#Locatives|More...]] |- |Explicit Locative | A [[#Locative|locative]] of the form simplename_explicitlocale_ indicating that the search for simplename will start in the [[#Locale|locale]] explicitlocale and, if need be, follow its [[#SearchPath|search path]]. [[Vocabulary/Locales#Locatives|More...]] |- |Extended Integer | A [[#Numeric|numeric]] [[#Precision|precision]] that stores integers of arbitrary size with complete precision. |- |Fill | [[#Atom|Atoms]] appended to a [[#Noun|noun]] to extend the [[#Shape|shape]] of the [[#Noun|noun]] to a required [[#Shape|shape]], especially when the [[#Noun|noun]] must be extended because it is being made a [[#Cell|cell]] in an [[#Array|array]] whose [[#Cell|cells]] are bigger than the [[#Noun|noun]]. See also [[#FramingFill|FramingFill]]. |- |Fill Atom | The atomic value used for each atom of a [[#Fill|fill]] action. It defaults to 0, ' ', a:, or s:'', matching the type of the value being filled. |- |Fill Cell | A [[#Cell|cell]] of fills, used as an argument to a verb when the verb's [[#Frame|frame]] contains a 0. |- |Floating Point | A [[#Numeric|numeric]] [[#Precision|precision]] that stores numbers in IEEE-754 double-precision floating-point format. |- |Foreign | A system function or platform service, e.g. date, time, or I/O, called via the primitive: [[Vocabulary/bangco|Foreign]] (!:). |- |Fragment | Two or three of the top four [[#Word|words]] on the [[#ExecutionStack|execution stack]] which are executable according to the parsing rules. |- |Frame | (k-frame of a [[#Noun|noun]]) The [[#Frame|frame]] of a [[#Noun|noun]] with respect to k-[[#Cell|cells]] is the [[#Shape|shape]] of the [[#Noun|noun]] with the last r [[#Item|items]] removed, where r is the [[#Rank|rank]] of a k-[[#Cell|cell]] of the [[#Noun|noun]]. When a [[#Noun|noun]] is viewed as an [[#Array|array]] of k-[[#Cell|cells]], the frame with respect to k-[[#Cell|cells]] is the [[#Shape|shape]] of the [[#Array|array]] of k-[[#Cell|cells]].

(of an [[#Argument|argument]] to a [[#Verb|verb]]) The r-frame of the argument, where r is the implied or explicit [[#Rank|rank]] of the verb for that argument. [[Vocabulary/Agreement|More...]]

(of an execution of a verb) The argument frame for a monad, or the argument-frame pair for a dyad. Also called the result frame of the execution. [[Vocabulary/FramingFill|More...]] |- |Framing Fill | [[#Fill|Fill]] atoms may be needed when the [[#Result|results]] from applying a [[#Verb|verb]] to its [[#Argument|argument]] [[#Cell|cells]] are being joined into an [[#Array|array]]. Framing fills are always the defaults: 0, ' ', a:, s:'', matching the [[#Type|type]] of the [[#Result|result]]. See also [[#VerbFill|Verb Fill]]. [[Vocabulary/FramingFill|More...]] |- |Fret | An [[#Item|item]] that marks the start (or end) of an [[#Interval|interval]] along an axis. |- |Functional Programming | A method of writing programs that describes only the operations to be performed on the inputs to the programs, without the use of temporary variables to store intermediate [[#Result|results]]. J's [[#TacitDefinition|tacit programs]] are an example of functional programming. Aficionados of functional programming consider it to express algorithms more purely than a procedural language; expert J programmer Randy MacDonald has said, "If you're not programming functionally, you're programming dysfunctionally". |- |Gerund | The [[#AtomicRep|atomic representation]] of a [[#Verb|verb]], or a list thereof. A gerund, which is a noun, can be used in places where a verb [[#Value|value]] cannot be, for example as an argument to a verb or to represent a [[#List|list]] of verb values. A verb may be selected and activated by use of the [[Vocabulary/atdot|Agenda]] adverb. |- |Global | (of a [[#Name|name]]) Being defined in the [[#Locale|locale]] z, found by default in every locale's [[#SearchPath|search path]], and thereby accessible as a [[#SimpleName|simple name]] by any [[#Verb|verb]]. (The J Dictionary used the word global to mean 'not private', a broader meaning which corresponds to the term [[#Public|public]] in [[NuVoc|NuVoc pages].) |- |Head | The first, index-0, [[#Item|item]] along an axis. |- |Identity Element | The identity element iu of a [[#Dyad|dyadic]] [[#Verb|verb]] u is the value that satisfies y = iu u y and y = y u iu for all y in the domain of u . Also called the neutral. |- |Identity Function | A [[#Monad|monad]] that produces an identity element of a shape appropriate for a single item of its y argument. If ig is the identity function for g, then ({.y) g ig y equals {.y for all y. [[Vocabulary/slash#Inverses|More...]] |- |Idle Thread | A [[#Thread|thread]] that is not executing a task or waiting for user input. |- |Implied Locale | The [[#Locale|locale]] that will be used at a given time for [[#Public|public]] [[#Assignment|assignment]] and [[#Name|name]] searches of [[#SimpleName|simple names]]. [[Vocabulary/Locales#Locatives|More...]] |- |Index | In an [[#Array|array]], an integer indicating position along an [[#Axis|axis]]. The index of the first position along an [[#Axis|axis]] is 0 . [[Vocabulary/Nouns#Index|More...]] |- |Index List | (of an atom) A [[#ListOf|list of]] integers with the same length as the [[#Shape|shape]] of a [[#Noun|noun]], designating an [[#Atom|atom]] of the [[#Noun|noun]] by giving its position along each consecutive [[#Axis|axis]]. [[Vocabulary/Nouns#Index|More...]] |- |Inflection | Period (.) and/or colon (:) characters appended to the end of a [[#Name|name]] or ASCII graphic character to produce a new and independent [[#Primitive|primitive]]. Also, the action of adding such characters. |- |Infinity | The [[#Floating Point|floating point]] [[#Numeric|numeric]] values representing positive or negative infinity: _ and __ . |- |Infix | Any sequence of consecutive [[#Item|items]] along an axis of a [[#Noun|noun]]. |- |Integer | A [[#Numeric|numeric]] [[#Precision|precision]] that stores integers at machine precision (either 32 or 64 bits per number). |- |Interval | Any sequence of consecutive [[#Index|indexes]] or [[#Cell|cells]] along an axis of a [[#Noun|noun]]. |- |Invocation | A [[#Phrase|phrase]] that executes a verb with a y-argument [and an x-argument], yielding a noun. |- |Item | A _1-[[#Cell|cell]] of a [[#Noun|noun]]. An [[#Array|array]] is a [[#ListOf|list of]] its items, which are cells of rank 1 less than the rank of the array. An [[#Atom|atom]] has one item, itself. The items of a [[#List|list]] are [[#Atom|atoms]]; the items of a [[#Table|table]] are [[#List|lists]]. [[Vocabulary/Nouns#Item|More...]] |- |Iverson Bracket | A mathematical notation (not used in J), where [P] equals 0 if the predicate P is false, 1 if P is true. |- |Iverson Convention | The use of the integers 0 and 1 to represent false and true. |- |Leaf | A [[#BoxingLevel|level-0]] [[#Box|box]], one whose contents are [[#Unboxed|unboxed]], possibly [[#Empty|empty]]. A leaf may itself be part or all of the contents of another box. |- |Level | See [[#BoxingLevel|Boxing level]]. |- |Line | A text substring delimited by [[#Linefeed|linefeeds]] or termini. [[Vocabulary/Words#Line|More...]] |- |Linefeed | The [[#Byte|byte]]: ASCII 10, the value of public noun LF. |- |List | (when used without qualification) An [[#Array|array]] of [[#Rank|rank]] 1; a one-dimensional [[#Array|array]]. |- |List of [***] | An [[#Array|array]] whose [[#Item|items]] are of some designated form: [***]; as in 'list of 3-[[#Atom|atom]] [[#List|lists]]'. |- |Literal | A synonym of [[#Byte|byte]], or "Constant" |- |Local | See [[#Private|private]]. |- |Locale | A [[#Public|public]] [[#Namespace|namespace]]. Each [[#Public|public]] [[#Name|name]] is [[#Defined|defined]] in a locale. A locale is identified by a locale name which is a character [[#String|string]] not containing an underscore. [[Vocabulary/Locales|More...]] |- |Locative | A [[#Name|name]] composed of both a [[#SimpleName|simple name]] and a [[#Locale|locale]] name in which the search for the name's value will begin. A locative is either an [[#ExplicitLocative|explicit locative]], denoted by a locale name between single underscores, or an [[#ObjectLocative|object locative]], denoted by a chain of one or more locale names, each preceded by a pair of underscores. |- |Matrix | See [[#Table|table]]. |- |Master Thread | The [[#Thread|thread]] that J starts running in. The master thread is thread number 0. The master thread is not part of any threadpool and is never idle. |- |Modifier | An [[#Adverb|adverb]] or [[#Conjunction|conjunction]]. Creates a [[#Derived|derived entity]] (typically a [[#Verb|verb]]) combining the effects of its [[#Operand|operands]]. [[Vocabulary/Modifiers|More...]] |- |Monad (monadic) | A [[#Verb|verb]] which executes with no left [[#Argument|argument]]. For a monadic execution to occur, the verb must have a monadic [[#Valence|valence]] defined. [[Vocabulary/Verbs#Valence|More...]] |- |Name | A word that begins with a letter and contains letters, numerals, and underscores. A name can be the target of [[#Assignment|assignment]]. A name is either a [[#SimpleName|simple name]] or a [[#Locative|locative]]. [[Vocabulary/Words#Words|More...]] |- |Namespace | Either a named [[#Locale|locale]] or a [[#Private|private]] [[#Namespace|namespace]] associated with a running [[#ExplicitEntity|explicit entity]]. [[Vocabulary/Locales|More...]] |- |Neutral | A synonym of [[#IdentityElement|identity element]]. |- |Newline | A synonym of [[#Linefeed|Linefeed]]: ASCII 10, the value of public noun LF.. |- |Noun | One of the [[#Primary|four primary parts of speech]]. An [[#Atom|atom]] or positive-[[#Rank|rank]] [[#Array|array]] of [[#Atom|atoms]]. Nouns hold the data that [[#Verb|verbs]] operate on. [[Vocabulary/Nouns|More...]] |- |Number | A [[#Numeric|numeric]] [[#Atom|atom]], whether (part of) a program's [[#Constant|constant]] or computed by its operations. |- |Numeric | A [[#Type|type]] of [[#Noun|noun]] representing numbers. Numeric [[#Precision|precisions]] include [[#Boolean|Boolean]], [[#Integer|integer]], [[#ExtendedInteger|extended integer]], [[#Rational|rational]], [[#Floating Point|floating point]], and [[#Complex|complex]]. The formats of numeric constants are defined [[JDic:dcons|here]]. |- |Object Locale | The value of the [[#ObjectName|sequence of attached names]] of locales or locale-valued names in an [[#ObjectLocative|object locative]]. The first object name is evaluated in the current namespace; its value initializes the object locale, and each subsequent object name (if any) is evaluated in the then-current object locale with its value replacing the object locale. The value of the object locale after all names have been evaluated is the locale in which the search for the [[#SimpleName|simple name]] of the locative begins. [[Vocabulary/Locales#Locatives|More...]] |- |Object Locative | A [[#Locative|locative]] of the form simplename__objname[s] indicating that the search for simplename will start in the [[#ObjectLocale|object locale]] given by the resulting value of the objname[s] and will then follow its [[#SearchPath|search path]]. [[Vocabulary/Locales#Locatives|More...]] |- |Object Name | (as part of an [[#ObjectLocative|object locative]]) A name, preceded by double-underscore (__) and extending to the next double-underscore or the end of the locative. [[Vocabulary/Locales#Locatives|More...]] |- |Obverse | By default the [[#Inverse|inverse]] of a [[#Verb|verb]], or a user-chosen [[#Verb|verb]] attached to it via [[Vocabulary/codot|Assign Obverse]] (:.) . |- |Open | (as description) See [[#Unboxed|unboxed]].
(as primitive) [[Vocabulary/gt|Open]]: <, which returns the [[#Contents|contents]] of a [[#Box|box]]. [[Vocabulary/Nouns#Box|More...]] |- |Opening | The act of recovering the [[#Contents|contents]] of a [[#Box|box]]. See [[#Open|open]]. [[Vocabulary/Nouns#Box|More...]] |- |Operand | A [[#Noun|noun]] or [[#Verb|verb]] [[#Value|value]] supplied to a [[#Modifier|modifier]] when the modifier is [[#Execution|executed]]. |- |Outerval | The [[#Index|indexes]], or [[#Cell|cells]], remaining after deletion of an [[#Interval|interval]]. |- |Outfix | The remainder of an [[#Array|array]] after removal of an [[#Infix|infix]]. |- |Parsing | The right-to-left search for executable patterns in a [[#Sentence|sentence]]. A word from the sentence is pushed onto the [[#Execution stack|execution stack]], with a named noun being replaced by its value and other names replaced by a reference to the name. As soon as the top elements of the stack contain an executable [[#Fragment|fragment]], that fragment is [[#Execution|executed]] and replaced by the [[#Result|result]] of the execution. [[Vocabulary/Parsing|More...]] |- |Part of Speech | One of the seven categories into which [[#Word|words]] are classified; or, a [[#Word|word]] or [[#Entity|entity]] so classified. Every [[#Word|word]] has a part of speech: for [[#Primitive|primitives]], the part of speech is color-coded in the [[NuVoc|NuVoc pages]; for [[#Name|names]], the part of speech is that of the [[#Value|value]] assigned to the [[#Name|name]]. The parts of speech are: [[#Noun|noun]], [[#Verb|verb]], [[#Adverb|adverb]], [[#Conjunction|conjunction]], [[#Punctuation|punctuation]], [[#Copula|copula]], [[#ControlWord|control word]]. [[Vocabulary/Words#PartsOfSpeech|More...]] |- |Partition | A selection of (possibly non-contiguous) [[#Item|items]] of an [[#Array|array]], brought together as the [[#Item|items]] of a new [[#Array|array]], perhaps to be operated on by a [[#Verb|verb]]. A partitioning action allocates each item of an array to one of several partitions exactly once, usually retaining their relative order. |- |Path | (of locale names) See [[#SearchPath|search path]].
(within a boxed noun) See [[#BoxingPath|boxing path]]. |- |Phrase | Part of a [[#Sentence|sentence]] that evaluates to an [[#Entity|entity]]. |- |Precision | An attribute of a [[#Noun|noun]], indicating the range of data values that can be represented within its type. [[Vocabulary/Nouns#Type|More...]] |- |Prefix | An [[#Infix|infix]] that includes the first, or head, index-0 [[#Item|item]]. |- |Primary Part of Speech | A subset of the [[#PartOfSpeech|parts of speech]], viz. [[#Noun|noun]], [[#Verb|verb]], [[#Conjunction|conjunction]], and [[#Adverb|adverb]]. |- |Primitive | A [[#Word|word]] whose meaning is assigned by the J language, as listed in the [[NuVoc|NuVoc pages]]. [[Vocabulary/Words#Primitives|More...]] |- |Private | (of a [[#Name|name]]) Assigned in the [[#Namespace|namespace]] of an [[#ExplicitEntity|explicit entity]] and accessible only during execution of that [[#ExplicitEntity|explicit entity]] in which it was assigned. [[Vocabulary/Locales|More...]] |- |Pronoun | A term used for a [[#Name|name]] itself to distinguish it from its assigned [[#Noun|noun]] [[#Value|value]]. This distinction is seldom observed in J documentation (or other computing literature). |- |Proverb | A term used for a [[#Name|name]] itself to distinguish it from its [[#Verb|verb]] [[#Value|value]]. This distinction is seldom observed in J documentation (or other computing literature). |- |Public | (of a [[#Name|name]]) Assigned within a [[#Locale|locale]] and also accessible from any other [[#Locale|locale]] via a [[#Locative|locative]]. [[Vocabulary/Locales|More...]] |- |Punctuation | A [[#PartOfSpeech|part of speech]]. [[#Punctuation|Punctuation]] is not executed, but it affects the [[#Execution|execution]] of other [[#Word|words]]. [[#Punctuation|Punctuation]] in J comprises ', (, ), {{, }}, and NB.. |- |Pyx | A result created by a [[#Task|task]]. A pyx is an atomic [[#Box|box]] and behaves like any other box until it is opened. At that point the opening [[#Thread|thread]] is blocked until the task creating the pyx completes. If the task completed with an error, the error will be signaled in the opening thread. For the meaning of the word, see [https://en.wikipedia.org/wiki/Trial_of_the_Pyx Trial of the Pyx] |- |Rank | (of a [[#Noun|noun]]) The number of [[#Axis|axes]] along which the [[#Atom|atoms]] of the [[#Noun|noun]] are arranged; the number of [[#Item|items]] in its [[#Shape|shape]]. [[Vocabulary/Nouns#Shape|More...]].

(of a [[#Verb|verb]]) The highest rank[s] of the [left and] right [[#Noun|noun]] arguments that the [[#Verb|verb]] can operate on directly. [[Vocabulary/Verbs#Verb Rank|More...]] |- |Rational | A [[#Numeric|numeric]] [[#Precision|precision]] that stores rational real numbers of arbitrary size with complete precision. |- |Recursive | (of a [[#Verb|verb]]) Able to make a call to itself during its execution. |- |Result | (of an execution [[#Fragment|fragment]]) The value produced by executing the [[#Fragment|fragment]]; the [[#Fragment|fragment]] is replaced on the [[#ExecutionStack|execution stack]] by a synthetic [[#Word|word]] representing the result.

(of a [[#Sentence|sentence]]) The result of the last [[#Fragment|fragment]] executed in the [[#Sentence|sentence]].

(of an [[#Entity|entity]]) The result of the last [[#Sentence|sentence]] executed in the [[#Entity|entity]]. |- |Scalar | An [[#Atom|atom]]. "Scalar" is a mathematical term used to distinguish such values from [[#Vector|vector]] and [[#Matrix|matrix]] arrays. |- |Script | A text file containing J code, usually in the form of [[#Sentence|sentences]]. |- |Search Path | (of a [[#Locale|locale]] loc) The [[#ListOf|list of]] the names of [[#Locale|locales]] that will be searched to find the definition of a [[#Name|name]] originally sought, but not found in loc. [[Vocabulary/Locales#Lookup|More...]] |- |Selector | An [[#Atom|atom]] used as the specification for finding one or more items of an [[#Array|array]], e.g. by [[Vocabulary/curlylf#dyadic|From]] ({). |- |Sentence | The entire executable portion of a [[Vocabulary/Words#Line|line]]. [[Vocabulary/Words#Sentence|More...]] |- |Session | A display window of the chosen version of J IDE (called "Term" in JQt, or "IJX" in j602) which shows the results of running J in immediate mode. |- |Shape | The [[#ListOf|list of]] the lengths of the [[#Axis|axes]] of a [[#Noun|noun]]. [[Vocabulary/Nouns#Shape|More...]] |- |Simple Name | A consecutive sequence of letters, numbers, and underscores, used to refer to an [[#Entity|entity]]. It begins with a letter, does not contain two consecutive underscores, nor end with an underscore unless it contains only one underscore. [[Vocabulary/Locales#Locatives|More...]] |- |Singleton | An atom or a one-atom array of any positive rank. |- |Sparse Array | An [[#Array|array]] in which only atoms differing from the [[#SparseElement|sparse element]] are stored. |- |Sparse Element | An atomic value associated with a [[#SparseArray|sparse array]]. Usually s: 0 for numeric arrays. |- |Special Combination | A [[#Phrase|phrase]] recognised by J as suitable for efficient execution via special code. |- |Starting Locale | The [[#Locale|locale]] specified in a [[#Locative|locative]]. If that locale does not contain the designated entity, a search for it begins via that locale's [[#SearchPath|Search Path]]. See that link for details. [[Vocabulary/Locales|More...]] |- |String | See [[#Character|character]]. |- |Subarray | The result of selecting an [[#Interval|interval]] or [[#Outerval|outerval]] or whole range from each [[#Axis|axis]] of an [[#Array|array]]. A selection of arbitrary subsets along some axes may be termed a "sparse subarray" (not to be confused with a sparsely stored array.) |- |Suffix | An [[#Infix|infix]] that includes the last, or tail, index-_1 [[#Item|item]]. |- |Surplus Frame | (when executing a [[#Dyad|dyadic]] [[#Verb|verb]]) The part of an [[#Argument|argument]] [[#Frame|frame]] that is not in the [[#CommonFrame|common frame]]. [[Vocabulary/Agreement|More...]] |- |Suspension | When [[Vocabulary/Foreigns#m13|debugging]] is enabled, any error (including a [[Vocabulary/Foreigns#m13|stop]]) causes execution to pause, with the state of all executing [[#Entity|entities]] available for review, modification, and restart of execution. During the pause in execution, each executing entity is said to be suspended. |- |Symbol | A [[#Type|type]] and [[#Precision|precision]]. A symbol is a name which represents an unmodifiable list or string of characters that has been put into the J session's symbol table. |- |Table | An [[#Array|array]] of [[#Rank|rank]] 2; a two-dimensional [[#Array|array]]. [[Vocabulary/Nouns#Atom|More...]] |- |Table of [***] | An [[#Array|array]] whose _2-[[#Cell|cells]] are of some designated form: [***]; as in "table of 3-[[#Item|item]] [[#List|lists]]". |- |Tacit Definition | The [[#Definition|definition]] of a [[#TacitVerb|tacit verb]], consisting of a [[#Train|train]] of [[#Word|words]]. |- |Tacit Verb | A [[#Verb|verb]] that executes without its own [[#Private|private]] [[#Namespace|namespace]] and refers to its [[#Argument|argument(s)]] implicitly. |- |Tail | The last, index-_1, [[#Item|item]] along an axis. |- |Task |A [[#Verb|verb]] and its arguments, executing in a [[#Thread|thread]] to produce a [[#Pyx|pyx]]. All [[#Locale|locales]] are shared by all [[#Task|tasks]]. |- |T-block | A [[#Block|block]] that yields a single array value: the last noun evaluated within it. This block starts with if. , for. , for_ijk. , while. , or whilst.--and finishes with do. . |- |Thread |An environment that a [[#Task|task]] can be executed in. Threads often execute on different hardware. When J starts, it executes in the [[#MasterThread|master thread]], thread 0. |- |Threadpool |A group of [[#WorkerThread|worker threads]]. Each threadpool has a unique number. Threadpool 0 is used by the system for multithreaded primitives, and can also be used by tasks. |- |Tolerance | See [[#TolerantComp|tolerant comparison]]. |- |Tolerant Comparison | Numeric comparison, in which at least one of the values may be of an inexact type, that considers the values to be equal if the difference between them is less than the absolute tolerance. A system setting, the [[#CompTol|comparison tolerance]], is used to calculate the absolute tolerance. For dyadic comparisons, the absolute tolerance is the comparison tolerance multiplied by the larger of the magnitudes of the two comparands. For monadic comparisons (where one comparand is assumed to be 0), the absolute tolerance is equal to the comparison tolerance. [[Essays/Absolute and Relative Tolerance|More...]] |- |Train | A sequence of [[#Word|words]] that when executed produces a non-[[#Noun|noun]] [[#Result|result]], typically a [[#Verb|verb]]. |- |Type | An attribute of a [[#Noun|noun]]: [[#Numeric|numeric]], [[#Character|character]] (also called [[#String|string]]), [[#Boxed|boxed]], or [[#Symbol|symbol]]. Each type-class comprises one or more [[#Precision|precisions]]. [[Vocabulary/Nouns#Type|More...]] |- |Unbox | See [[#Open|open (verb)]]. |- |Unboxed | Not having atoms that are [[#Box|boxes]]. [[Vocabulary/Nouns#Box|More...]] |- |Undefined Name | A valid [[#Name|name]] that has yet to be assigned a [[#Value|value]]. |- |Unicode | A [[#Character|character]] [[#Precision|precision]] with 65536 different (2-byte) values (the [http://www.unicode.org/ Frame-0 Unicode characters]). |- |Unicode4 | A [[#Character|character]] [[#Precision|precision]] with 1052672 different (20-byte) values (the [http://www.unicode.org/ Unicode characters]). |- |UTF-8 | A method of representing [[#Unicode|unicode]] [[#Character|character]] values as a sequence of [[#Byte|bytes]] according to the [[WikiPedia:UTF-8|UTF-8 standard]]. |- |Valence | (of a [[#Verb|verb]] definition) The number of [[#Noun|noun]] [[#Argument|arguments]] the definition can accept: 1 if [[#Monad|monadic]], 2 if [[#Dyad|dyadic]], either 1 or 2 if dual-valence. [[Vocabulary/Verbs#Valence|More...]]

(of the execution of a [[#Verb|verb]]) The number of arguments supplied to the verb: monadic if 1, dyadic if 2. |- |Value | An [[#Entity|entity]] that can be attached to a [[#Name|name]] through [[#Assignment|assignment]]. When a name is encountered during [[#Execution|execution]] of a [[#Sentence|sentence]], it is replaced by its current value. A value may be a [[#Noun|noun]], [[#Verb|verb]], [[#Adverb|adverb]], or [[#Conjuction|conjunction]]; for example, assigning a [[#Verb|verb]] value to a [[#Name|name]] produces a [[#Defined|defined]] [[#Verb|verb]]. [[Vocabulary/Nouns#Value|More...]] |- |Vector | See [[#List|list]]. |- |Verb | One of the [[#Primary|four primary parts of speech]]. A verb operates on a [[#Noun|noun]] to its right (and its left, if it is [[#Dyad|dyadic]] and a [[#Noun|noun]] is to its left) to produce a [[#Noun|noun]] [[#Result|result]]. [[Vocabulary/Verbs|More...]] |- |Verb Definition | The [[#Definition|definition]] of a [[#Verb|verb]], often (by implication) an [[#ExplicitDefinition|explicit definition]]. |- |Verb Fill | [[#Fill|Fill]] added by a [[#Verb|verb]] during processing of a [[#Cell|cell]] when the verb operates on cells that are smaller than the [[#Rank|rank]] of the verb; contrasted with [[#FramingFill|framing fill]]. The [[Vocabulary/bangdot|Fit conjunction]] !.f can be used with some verbs to specify a non-default [[#FillAtom|fill atom]] f for verb fill. |- |Void Argument | A throwaway value for the mandatory [x or] y argument of a verb to be executed. A verb is executed only when it has a y argument, even if the value of the argument is ignored. (A name typed without an argument displays the value of the name). |- |Whitespace | A string of one or more non-printing [[#Byte|bytes]], the Space and TAB characters, which J accepts as syntactically equivalent to Spaces. (Unlike the usage in C/C++, it does not include CR or LF.) |- |Word | A sequence of characters in a [[#Sentence|sentence]], recognized as a lexical unit. A word is either a [[#Name|name]], a [[#Primitive|primitive]], a [[#Constant|constant]] (which may be a [[JDic:Constants|number]] or a [[#Character|character]] or a [[#ListOf|list of]] either), or a synthetic word used to refer to the [[#Result|result]] of an [[#Execution|execution]]. [[Vocabulary/Words#Words|More...]] |- |Worker Thread | A [[#Thread|thread]] that is not the master thread, distinguished by its thread number, which is always greater than 0. A worker thread is permanently assigned to a specified [[#Threadpool|threadpool]] when it is created. |}







































---- [[Category:NuVoc]] __NOTOC__ [[Category:Ancillary Pages R.1.3]][[Category:Introduction to NuVoc N.5]]