Intrinsic
Something that is intrinsic is something known about a thing which does not need explanation or reason to define it. The intrinsic thing just is.
- boa constrictors are intrinsically non-venomous
- Red is intrinsically a colour.
- 20 nano metres is intrinsically a spatial measurement.
These things do not require you to rely on anything outside of the thing itself to know. Unfortunately knowing does imply a lot of knowledge already, so roughly breaking it down:
- there is the real thing itself,
- the perception of the thing,
- and the representation of the thing in symbolic form.
A thing that is real does not require you to interpret it. If you weren't there it still would have that intrinsic quality.
An intrinsic thing that is perceptual is only known to that perception. A person who is Red/Green colour blind has no notion of Red, it is not a quality that is intrinsic to anything they perceive.
Something that is symbolically intrinsic is known because it is part of the symbols definition. A Bachelor for example is by definition an unmarried man. Unfortunately some symbolic representations are a little weird about what is intrinsic, take Boolean Logic. It requires you to understand a few definitions but you can pick:
true
, false
, and nand
true
, false
, and nor
true
, not true
, and
, or
, and not
Which ever definition you take, the rest of Boolean logic is well defined.
Extrinsic
Something that is extrinsic does not actually require that you know about the thing, but about how that thing relates to other things. A red/green colour blind person could relate the light frequency reflected by an object to identify red extrinsically. Similarly accepting logical axioms for true
, false
, and nand
allows you to extrinsically understand or
in boolean logic.
Anything that is extrinsic can be explained by connecting several intrinsic observations. This is the basis of pattern matching such as in a RegEx, given the intrinsic observation of characters (they just are), find a specific organisation of those characters.
Formal Language
So in a formal language an extrinsic part can be explained by some composition of intrinsic parts. While an intrinsic part must simply be known.
Some parts of the language could be both extrinsic, or intrinsic and what they are will depend on whether the reader of the language (usually the compiler/interpreter) intrinsically understands that part, or must derive understanding for that part through a composition of intrinsics.
What this means is that a compiler or interpreter must know in advance how to write instructions for, or how to act out some intrinsic part of the language. Of course a decision must be made as to what is intrinsic.
Sometimes the language specification declares everything (or more than needs to be) to be intrinsic. What this means is that anyone writing in this language should presume that anyone reading this will understand all of the definitions without explanation. Regardless of how they are actually known to the interpreter/compiler those definitions won't be treated like the definitions found in a written document. Usually one of those differences is that they cannot be redefined in a written document.
sqrt()
. They are a fundamental part of the language. – shawnhcorey Feb 02 '19 at 15:56sqrt()
. They are a fundamental part of the language. – shawnhcorey Feb 02 '19 at 15:56sqrt()
built into the language? E.g. in Ruby,Math::sqrt
is part of the core library, not the language. In ECMAScript,Math.sqrt()
is part of the standard library, not the language. In C,sqrt()
is part of the<math.h>
standard library, not the language. In Java,sqrt()
is part of the JRE, not the language. In C♯, Visual Basic.NET, and F♯,sqrt
is part of the BCL. In PHP,sqrt
is part of the standard library. In Smalltalk,sqrt
is part of the standard library. – Jörg W Mittag Feb 03 '19 at 01:59