Send
Close Add comments:
(status displays here)
Got it! This site "creationpie.com" uses cookies. You consent to this by clicking on "Got it!" or by continuing to use this website. Note: This appears on each machine/browser from which this site is accessed.
Have you ever met a prefix like this?
1. Have you ever met a prefix like this?
Have you ever met a prefix like this? (with some self-reference)
Have you ever met a (i.e., "
meta") prefix like "
meta"?
This is an interesting part of self-reference.
In the field of computer science (and related fields) one often hears the term "
meta" used as a prefix to other words.
meta-data
meta-table
meta-language
meta-programming
meta-character
... and so on ...
2. Meta
The term
meta, as a prefix, often means something that refers to itself or something like itself.
The modern Greek word
"μετά" (meh-TA) ≈ "after" from which we get the English prefix "
meta", although there is some history that has changed the meaning in English.
3. Metamorphosis
4. Repent
The modern Greek word
"μετάνοια" (meh-TA-nee-a) ≈ "repentance" comes from the modern Greek word "
μετά" and the modern Greek word
"νους" (nus) ≈ "mind".
The word literally means an "
after mind" or "
after thought" as in "
think this over in your mind". Over time, "
after thought" took on the connotation of a "
changed mind" or "
changed thought".
This re-thinking took on the meaning that in English is "
repent". When you "
repent", do you do a "
pent" again? Do you do "
penance" again? Does the first time count?
If the prefix "
re" means "
again", then I will have to "
research" that (for the very first time).
5. Aristotle
In the 4th Century BC, Aristotle, personal tutor of Alexander the Great, wrote many important books, including a book on physics or "
nature" (i.e., reality).
The modern Greek word
"φύση" (FEE-see) ≈ "nature". The modern Greek word
"φυσική" (fee-see-KEE) ≈ "physics" which is the study of the reality of time and space as we know it.
6. Metaphysics
Many years later, in cataloging his works, a collection of works that were hard to categorize were bound together and put after the Aristotle's book on "
physics".
This collection of works become known as «
τα μετά τα φυσικά», or, literally, "
the (book) after the physics" where "
physics" had to do, in part, with observed reality, mathematical abstraction, and the correspondence between them.
7. Book
In the "
after the physics" book, Aristotle addressed causation, mathematics, a divine creator(s), etc. The word "
metaphysics" became known as heavenly or out-of-world ideas (religious, etc.).
A recurring theme in Aristotle's work on "
metaphysics" was that of separating logical reality from physical reality.
8. Book
A useful $13 book (Spring 2021), no commentary, just the text, is
Aristotle's Metaphysics in English Latin and Ancient Greek from Hermes Language Reference. ISBN-13 : 978-1973405368.
9. Meta as self-reference
That "
out of the box" or "
above" idea of "
meta" as in "
metaphysics" is used in computer science as a prefix to describe something about itself.
This idea became popularized by Douglas Hofstadter's book
Gödel, Escher and Bach which discussed self-reference in general and Gödel's proof in detail.
10. Hofstadter's Law
An elegant statement of a recursive self-referential principle is Hofstadter's Law.
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law. Hofstadter, D. (1979).
Gödel, Escher, Bach: An eternal golden braid. New York: Vintage Books., p. 152.
11. Parkenson's Law
Hofstadter's Law is an extension of Parkinson's Law. Parkinson's Law can be expressed as follows.
Work expands so as to fill the time available for its completion. (
Wikipedia)
It was formalized in a book by Cyril Parkinson called
Parkinson's Law: The Pursuit of Progress (London, John Murray, 1958) and based on his work in the British government bureaucracy.
12. Meta-data
Meta-data is data about data.
SQL meta-data is a description of data tables (including itself).
A meta-table is a table that describes a table.
One advantage of representing meta-data like data is that you can do searches, queries, etc., of the meta-data using the same tools and techniques that you use to search and query the data.
13. Meta-characters
A meta-character is a character that describes or represents another character. Usually, that character is used for special purposes so that a character that is different than that character needs to be used.
14. Escape characters
Sometimes an escape character is used that precedes the character that is to be given special treatment.
The term escape character and meta-character are sometimes used interchangeably.
15. Common meta-characters
Here are a few common meta-character escape sequences used in many languages.
"\t" is the tab character
"\n" is the newline character
"\r" is the return character
"\\" is the backslash character
Meta-characters are crucial in self-referential programs such as programs that write programs and programs that replicate themselves (in analogy to DNA replication).
16. Meta-questions
Can I ask a question? You just asked a question.
A
meta-question is a question about questions.
Did you mean, can I ask
another question? The first question was a
meta-question.
When a new cadet (in the first year) at West Point needed to ask an upper-class cadet a question, one needed to say (before 1976 when women were admitted) "
Sir, may I ask a question?".
Some upper-class cadets would respond, "
You just did ask a question.". The new cadet was required to ask (that upper-class cadet) "
Sir, may I ask another question?".
A
meta-problem is a problem about problems. Are some people a problem about being a problem?
17. Meta-dream
A meta-dream is a dream about a dream.
18. Meta-jokes
A
meta-joke is a joke about a joke.
For fun, someone once tried to strangle me.
I guess the choke was on me.
People who like to tell a bad joke have never met a joke that they do not like.
What is a
meta-joker?
19. Meta-wishes
Romans 1:10 Making request, if by any means now at length I might have a prosperous journey by the will of God to come unto you. [kjv]
παντοτε επι των προσευχων μου δεομενος ει πως ηδη ποτε ευοδωθησομαι εν τω θεληματι του θεου ελθειν προς υμας [gnt]
The ancient Greek word
"προσεύχομαι" ≈ "pray, vow, request" as in a request or wish comes from two Greek words.
"πρός" ≈ "to".
"εὔχομαι " ≈ "pray, vow" and which means, literally, a "good wish".
A
meta-wish is a wish about a wish. A genie usually forbids meta-wishes such as "
I wish I had three more wishes" as this ruins the story.
20. Romans 1:10
KJV: Making request, if by any means now at length I might have a prosperous journey by the will of God to come unto you.
Greek: παντοτε επι των προσευχων μου δεομενος ειπως ει πως ηδη ποτε ευοδωθησομαι εν τω θεληματι του θεου ελθειν προς υμας
21. Matthew 18:19 Things
Matthew 18:19 Again I say unto you, That if two of you shall agree on earth as touching any thing that they shall ask, it shall be done for them of my Father which is in heaven. [kjv]
παλιν αμην λεγω υμιν οτι εαν δυο συμφωνησωσιν εξ υμων επι της γης περι παντος πραγματος ου εαν αιτησωνται γενησεται αυτοις παρα του πατρος μου του εν ουρανοις [gnt]
Sometimes the
KJV (King James Version) adds the word
"things" where does not appear in the Greek. In the Greek, it is usually just an adjective with an implied connection to something (i.e., a real or abstract thing or entity).
There is a Greek word for
"thing" or
"things" as used in Matthew 18:19. The ancient Greek word
"πρᾶγμα" ≈ "deed, act, fact" or a thing in a concrete reality is from the ancient Greek word
"πράσσω" ≈ "to do" and is the source of the English "
practical".
The modern Greek word
"πράγμα" (PRA-gma) ≈ "thing, entity, object". The ancient Greek word
"πραγματικός" ≈ "active, versed in affairs" is the source of the English
"pragmatic".
A physical
"thing" is different from something "
abstract" such as a meta-wish. That is, a "
wish" or "
prayer" should be about a
"thing" and not, say, a "
wish for a wish".
22. Things
There is a difference between a thing and talking about a thing. Kurt Gödel (Austrian logician, mathematician, philosopher)
23. Matthew 18:19
KJV: Again I say unto you, That if two of you shall agree on earth as touching any thing that they shall ask, it shall be done for them of my Father which is in heaven.
Greek: παλιν αμην λεγω υμιν οτι εαν δυο υμων συμφωνησωσιν εξ υμων επι της γης περι παντος πραγματος ου εαν αιτησωνται γενησεται αυτοις παρα του πατρος μου του εν ουρανοις
24. Strongs - thing
- *G4229 *11 πρᾶγμα (prag'-mah) : from G4238; a deed; by implication, an affair; by extension, an object (material):--business, matter, thing, work.
- πραγματων *4
- Luke 1:1 ... to set forth in order a declaration of those things which are most surely believed among us,
- Hebrews 6:18 That by two immutable things, in which it was impossible ...
- Hebrews 10:1 ... the very image of the things, can never with ...
- Hebrews 11:1 ... the substance of things hoped for, the evidence of things not seen.
- πραγμα *3
- Acts 5:4 ... why hast thou conceived this thing in thine heart? ...
- 1 Corinthians 6:1 Dare any of you, having a matter against another, go to law ...
- James 3:16 ... and every evil work.
- πραγματι *3
- Romans 16:2 ... her in whatsoever business she hath need of you: for ...
- 2 Corinthians 7:11 ... to be clear in this matter.
- 1 Thessalonians 4:6 ... his brother in any matter: because that the Lord is the avenger ...
- πραγματος
- Matthew 18:19 ... earth as touching any thing that they shall ask, it shall be done ...
25. Usage - thing
*G4229 *11 πρᾶγμα (prag'-mah) : from G4238; a deed; by implication, an affair; by extension, an object (material):--business, matter, thing, work.
|
Words: πραγμα=3 πραγματι=3 πραγματος πραγματων=4
|
26. Meta-meetings
A meta-meeting is a meeting about a meeting. One popular Dilbert cartoon has a pre-planning meeting for the planning meeting for the meeting.
27. Meta-data and meta-tables
Meta-data is data about data.
The meta-data of a phone conversation (in security terms sometimes called traffic analysis) includes the fact that you made a call, who you called, when you called, how long the call lasted, etc., but not the actual contents of your phone conversation.
28. Meta-knowledge
The ancient Greek word
"ἐπίγνωσις" ≈ "examination, scrutiny" as in an in-depth and intimate working knowledge. The literal meaning is "
upon-knowledge" is in "
knowledge on knowledge" or a type of meta-knowledge. How do you "
know" something?
I "know" something.
I "know" that I "know" something.
I "know" that I "know" that I "know" something.
... and so on. When is the fixed point reached?
29. Meta-compilers
A meta-compiler is compiler that compiles (or helps write) a compiler, called a compiler-compiler.
A popular Linux-based meta-compiler or compiler-compiler is
YACC (Yet Another Compiler Compiler) or an improved version called Bison (a play on the animal name yac as being pronounced similarly to YACC).
30. Meta-programming
A meta-program is a program that writes a program, as in a meta-compiler.
In computer science, the term
reflection refers to using a program to look at it's own code in a meta-programming way.
Some languages that have good reflection support: C#, Python, Julia and (of course) LISP (and variants).
31. DNA analogies
The DNA code can replicate itself. It has reflection capabilities (e.g., AIDS virus as in a rootkit-viris).
32. Programs that write programs
The field of programming languages in computer science is concerned, in part, with programs that write programs.
For some simple examples in C, see
Programs that write programs.
33. Meta-language
A meta-language is a language that describes a language.
An English class can use English to describe the syntax and semantics of the English language.
34. Language and self reference
Consider the following sentence.
This sentence was originally in German but was translated to the English you are now reading.
How would you translate the above sentence into, say, Spanish?
What was the original German sentence?
35. Language learning
Whenever I study a language (German, Greek, Russian, etc.) I enjoy getting to the point where I can start learning more of the language by reading books in that language that talk about the language.
Dictionary of terms of that language defined in that language.
Etymology of terms in the language written in that language.
To learn, say, some Russian, it is useful, knowing German and Greek, to read books in German and Greek that teach Russian - reinforcing the other languages while learning a new language.
36. C/C++ preprocessor
The C++ programming language has a Turing-complete meta-programming system that is an extension and improvement of the C directive preprocessor that has directives such as
include,
define,
ifdef, etc.
37. Decisions
A meta-design is an design about how to design.
A meta-analysis is an analysis about ways to analyze.
A meta-policy is a policy about policies.
A meta-decision is a decision about decisions.
A meta-process is a process about processes (including itself)
... and so on ...
38. Processes
A meta-process is a process about processes.
Actual event: Department CS meeting about making sure we cover top-down design and programming in a course, an important concept in CS, despite not using it other places in the course nor in solving actual problems faced by the CS department.
39. Design
A meta-design is a design about designs. Book: The design of design by Frederick Brooks, Jr..
Note: Frederick Brooks, Jr., is the author of "The mythical man month", an important book in the history of software engineering principles. Today, the term used would be a "
person month" rather than a "
man month".
40. XML and DTD
41. C statements in EBNF
42. Language grammars
Almost every programming language has a grammar that has been expressed in EBNF. For example, search the Internet for the following.
C language ebnf grammr
43. C statement grammar
Here is a (simplified) grammar of C statements as covered in most introductory programming courses and expressed as an EBNF syntax diagram (ignoring some statements as
goto,
switch, etc.)
44. C statement textual grammar
Here is the textual EBNF grammar of the above syntax diagrams.
stmt =
"if" "(" expr ")" stmt [ else stmt ]
| "while" "(" expr ")" stmt
| "do" stmt "while" "(" expr ")" ";"
| "for" "(" [ assg ] ";" [ expr ] ";" [ assg ] ")" stmt
| "return" [ expr ] ";"
| var "=" expr ";"
| id "(" [ expr { "," expr } ] ")" ";"
| "{" { stmt } "}"
| ";"
.
Note: The full grammar precisely defines where semicolons are needed and where they are not needed and where they are optional.
45. EBNF in EBNF
Here is the same grammar in textual form.
Syntax = { Production } .
Production = "Variable" "=" Expression "." .
Expression = Term { "|" Term } .
Term = Factor { Factor } .
Factor = "Terminal" | "Variable" | "[" Expression "]" | "{" Expression "}" | "(" Expression ")" .
46. BNF textual grammar
47. Meta-acronyms
Some acronyms are meta-acronyms or otherwise recursive.
A TLA (Three Letter Acronym) is a TLA. That is, the definition includes itself. This is also known as "autological".
GNU (GNU is Not Unix) is a platform for Unix/Linux tools such as the C or C++ compilers used in some beginning programming courses.
The C compiler often used in an introductory programming course is
gcc which stands for GNU C Compiler.
48. After these things
49. Tautology
50. Math tautology
For example, the mathematical formula
x = x
means that "
x" (whatever "
x" is), is equal to "
x" and is always "
true" (whatever "
true" means). Note that in computer programming languages such as C#, Java, JavaScript, etc. the statement
x = x
means take the value of "
x" and assign it to itself (a side-effect that changes the state of the computer).
On the other hand, the expression
x == x
is the true value of the expression which is always true in that "
x" is always equal to itself. It is a tautology and can therefore be simplified to the expression
true
where true is always true and false is always false and they are not the same (they are opposites in the sense of the operation of set compliment).
51. Programming
One way to identify a beginning programmer is that they would write something like
if (x == x) then
\t# ... actions ...
\tend
instead of
if true then
\t# ... actions ...
\tend
which can be simplified to the following.
# ... actions ...
52. DNA compilers
Note that an optimizing DNA compiler might recognize and do this (and many other) optimizations making the final DNA code difficult to abstract to a higher level language notation (as used by human programmers).
53. End of page