Main Page: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
No edit summary
No edit summary
 
(500 intermediate revisions by more than 100 users not shown)
Line 1: Line 1:
{{Refimprove|date=July 2009}}
This is a preview for the new '''MathML rendering mode''' (with SVG fallback), which is availble in production for registered users.
An '''object language''' is a [[language]] which is the "object" of study in various fields including [[logic]], [[linguistics]], [[mathematics]], and [[theoretical computer science]].  The language being used to talk about an object language is called a [[metalanguage]].  An object language may be a [[formal language|formal]] or [[natural language|natural]] language.{{citation needed|date=July 2012}}


== Forms of object language ==
If you would like use the '''MathML''' rendering mode, you need a wikipedia user account that can be registered here [[https://en.wikipedia.org/wiki/Special:UserLogin/signup]]
=== Formal languages ===
* Only registered users will be able to execute this rendering mode.
* Note: you need not enter a email address (nor any other private information). Please do not use a password that you use elsewhere.


[[Mathematical logic]] and [[linguistics]] make use of metalanguages, which are languages for describing the nature of other languages. In mathematical logic, the object language is usually a [[formal language]]. The language which a metalanguage is used to describe is the object language. It is called that because that language is the object under discussion using the metalanguage.
Registered users will be able to choose between the following three rendering modes:


For instance, someone who says "In French, you say ''Bonjour'' to greet someone" uses [[English language|English]] as a metalanguage to describe the object language [[French language|French]].
'''MathML'''
:<math forcemathmode="mathml">E=mc^2</math>


=== Computer languages ===
<!--'''PNG'''  (currently default in production)
:<math forcemathmode="png">E=mc^2</math>


There are two ways the term ''object language'' can be used in computing: a language which is the object of formal specification, and a language which is the object (goal) of a compiler or interpreter.
'''source'''
:<math forcemathmode="source">E=mc^2</math> -->


==== Formal specification ====
<span style="color: red">Follow this [https://en.wikipedia.org/wiki/Special:Preferences#mw-prefsection-rendering link] to change your Math rendering settings.</span> You can also add a [https://en.wikipedia.org/wiki/Special:Preferences#mw-prefsection-rendering-skin Custom CSS] to force the MathML/SVG rendering or select different font families. See [https://www.mediawiki.org/wiki/Extension:Math#CSS_for_the_MathML_with_SVG_fallback_mode these examples].


{{Main|Specification language}}
==Demos==


Computer languages are object languages of the metalanguage in which their [[specification]] is written. In computer science this is referred to as the [[specification language]]. [[Backus-Naur Form]] was one of the earliest used specification languages.
Here are some [https://commons.wikimedia.org/w/index.php?title=Special:ListFiles/Frederic.wang demos]:


When [[compiler]]s are written using systems like [[lex (software)|lex]] and [[yacc]], the rules the programmer writes look much like a formal specification, but it is considered an [[implementation]] instead. Many [[programming language implementation]]s are not strictly the same as their specifications, adding features or making implementation-dependent design decisions.


==== Object Code ====
* accessibility:
** Safari + VoiceOver: [https://commons.wikimedia.org/wiki/File:VoiceOver-Mac-Safari.ogv video only], [[File:Voiceover-mathml-example-1.wav|thumb|Voiceover-mathml-example-1]], [[File:Voiceover-mathml-example-2.wav|thumb|Voiceover-mathml-example-2]], [[File:Voiceover-mathml-example-3.wav|thumb|Voiceover-mathml-example-3]], [[File:Voiceover-mathml-example-4.wav|thumb|Voiceover-mathml-example-4]], [[File:Voiceover-mathml-example-5.wav|thumb|Voiceover-mathml-example-5]], [[File:Voiceover-mathml-example-6.wav|thumb|Voiceover-mathml-example-6]], [[File:Voiceover-mathml-example-7.wav|thumb|Voiceover-mathml-example-7]]
** [https://commons.wikimedia.org/wiki/File:MathPlayer-Audio-Windows7-InternetExplorer.ogg Internet Explorer + MathPlayer (audio)]
** [https://commons.wikimedia.org/wiki/File:MathPlayer-SynchronizedHighlighting-WIndows7-InternetExplorer.png Internet Explorer + MathPlayer (synchronized highlighting)]
** [https://commons.wikimedia.org/wiki/File:MathPlayer-Braille-Windows7-InternetExplorer.png Internet Explorer + MathPlayer (braille)]
** NVDA+MathPlayer: [[File:Nvda-mathml-example-1.wav|thumb|Nvda-mathml-example-1]], [[File:Nvda-mathml-example-2.wav|thumb|Nvda-mathml-example-2]], [[File:Nvda-mathml-example-3.wav|thumb|Nvda-mathml-example-3]], [[File:Nvda-mathml-example-4.wav|thumb|Nvda-mathml-example-4]], [[File:Nvda-mathml-example-5.wav|thumb|Nvda-mathml-example-5]], [[File:Nvda-mathml-example-6.wav|thumb|Nvda-mathml-example-6]], [[File:Nvda-mathml-example-7.wav|thumb|Nvda-mathml-example-7]].
** Orca: There is ongoing work, but no support at all at the moment [[File:Orca-mathml-example-1.wav|thumb|Orca-mathml-example-1]], [[File:Orca-mathml-example-2.wav|thumb|Orca-mathml-example-2]], [[File:Orca-mathml-example-3.wav|thumb|Orca-mathml-example-3]], [[File:Orca-mathml-example-4.wav|thumb|Orca-mathml-example-4]], [[File:Orca-mathml-example-5.wav|thumb|Orca-mathml-example-5]], [[File:Orca-mathml-example-6.wav|thumb|Orca-mathml-example-6]], [[File:Orca-mathml-example-7.wav|thumb|Orca-mathml-example-7]].
** From our testing, ChromeVox and JAWS are not able to read the formulas generated by the MathML mode.


{{Main|Object file}}
==Test pages ==


At their basic level, computers act on what is given to them through a limited set of instructions which are understood by their [[CPU]]s. In the earliest computers, that meant programmers sometimes typed 1's and 0's to program. Since this requires considerable programmer training (and patience) to create instructions, later computer languages have gone to great lengths to simplify the programmer's task. (For example, now it's common for people with little training to [[drag-and-drop]] icons to create a Web page; all the steps to create the actual instructions which are run by computers are automatically performed, and not visible.)
To test the '''MathML''', '''PNG''', and '''source''' rendering modes, please go to one of the following test pages:
*[[Displaystyle]]
*[[MathAxisAlignment]]
*[[Styling]]
*[[Linebreaking]]
*[[Unique Ids]]
*[[Help:Formula]]


One common practice for decades is to allow a programmer to use ''source'' language (whose use may still require extensive training), and have that language translated into ''object'' code which the computer can immediately use. The ''compiling'' of one into the other varies depending on what CPU is being given the instructions.
*[[Inputtypes|Inputtypes (private Wikis only)]]
 
*[[Url2Image|Url2Image (private Wikis only)]]
''Object language'' in this context means something akin to "the object of what the programmer is trying to achieve". If the source language and object languages are viewed as formal (logical) languages, what the compiler does is ''interpret'' the source into the target language (this is different from the computer science use of ''[[interpreted language]]'' meaning one which is ''not'' compiled). ''Object language'' should also not be confused with ''[[object-oriented language]]'', which is a type of computer [[programming language]] which changes the programmer's environment into convenient objects which can be used in something similar to a drag-and-drop fashion.
==Bug reporting==
 
If you find any bugs, please report them at [https://bugzilla.wikimedia.org/enter_bug.cgi?product=MediaWiki%20extensions&component=Math&version=master&short_desc=Math-preview%20rendering%20problem Bugzilla], or write an email to math_bugs (at) ckurs (dot) de .
''Object language'' in this context is synonymous with ''target language''.  The object language of a translation most often is a [[machine language]], but can be some other kind of language, such as [[assembly language]].
 
Because the object language of compilation has usually been machine language, the term ''[[object file]]'' has come to mean a file containing machine instructions, and sometimes the translated program itself is simply called an ''object''.
 
== Expressions in an object language ==
=== Symbols ===
{{Main|Symbol (formal)}}
 
A ''symbol'' is an [[idea]], [[abstraction]] or [[concept]], [[type-token distinction|token]]s of which may be marks or a configuration of marks which form a particular pattern. Although the term "symbol" in common use refers at some times to the idea being symbolized, and at other times to the marks on a piece of paper or chalkboard which are being used to express that idea; in the [[formal language]]s studied in [[mathematics]] and [[logic]], the term "symbol" refers to the idea, and the marks are considered to be a [[type-token distinction|token]] instance of the symbol.
 
=== Formulas ===
{{Main|Well-formed formula}}
 
In the formal languages used in mathematical logic and computer science, a ''well-formed formula'' or simply ''formula'' is an [[idea]], [[abstraction]] or [[concept]] which is expressed using the [[symbol (formal)|symbol]]s and [[formation rule]]s (also called the [[formal grammar]]) of a particular formal language. To say that a [[string (computer science)|string]] of symbols <math>\ S</math> is a wff with respect to a given formal grammar <math>\ G</math> is equivalent to saying that <math>\ S</math> belongs to the language generated by <math>\ G</math>.
 
=== Formal systems ===
{{Main|Formal system}}
 
A ''formal system'' is a [[formal language]] together with a [[deductive system]] which consists of a set of [[inference rule]]s and/or [[axiom]]s. A formal system is used to [[formal proof|derive]] one expression from one or more other expressions previously expressed in the system. These expressions are called [[axiom]]s, in the case of those previously supposed to be true, or [[theorem]]s, in the case of those derived. A formal system may be formulated and studied for its intrinsic properties, or it may be intended as a description (i.e. a [[Interpretation (logic)|model]]) of external phenomena.
 
=== Theorems ===
{{Main|Theorem}}
 
A ''theorem'' is a [[symbol (formal)|symbol]] or string of symbols which is [[formal proof|derived]] by using a [[formal system]]. The string of symbols is a [[logical consequence]] of the [[axiom]]s and [[rule of inference|rules]] of the system.
 
=== Formal proofs ===
{{Main|Formal proof}}
 
A ''formal proof'' or ''derivation'' is a finite sequence of [[proposition]]s (called [[well-formed formula]]s in the case of a [[formal language]]) each of which is an [[axiom]] or follows from the preceding sentences in the sequence by a [[rule of inference]]. The last sentence in the sequence is a [[theorem]] of a [[formal system]]. The concept of [[natural deduction]] is a [[generalization]] of the concept of proof.<ref>The Cambridge Dictionary of Philosophy, ''deduction''</ref>
 
=== Theories ===
{{Main|Theory (mathematical logic)}}
 
A ''theory'' is a set of [[sentence (mathematical logic)|sentence]]s in a [[formal language]].
 
== References ==
{{reflist}}
 
{{DEFAULTSORT:Object Language}}
[[Category:Programming language implementation]]
[[Category:Linguistics]]
[[Category:Mathematical logic]]
[[Category:Metalogic]]
 
[[nl:Objecttaal]]
[[pt:Linguagem objeto]]
[[fi:Objektikieli]]

Latest revision as of 22:52, 15 September 2019

This is a preview for the new MathML rendering mode (with SVG fallback), which is availble in production for registered users.

If you would like use the MathML rendering mode, you need a wikipedia user account that can be registered here [[1]]

  • Only registered users will be able to execute this rendering mode.
  • Note: you need not enter a email address (nor any other private information). Please do not use a password that you use elsewhere.

Registered users will be able to choose between the following three rendering modes:

MathML

E=mc2


Follow this link to change your Math rendering settings. You can also add a Custom CSS to force the MathML/SVG rendering or select different font families. See these examples.

Demos

Here are some demos:


Test pages

To test the MathML, PNG, and source rendering modes, please go to one of the following test pages:

Bug reporting

If you find any bugs, please report them at Bugzilla, or write an email to math_bugs (at) ckurs (dot) de .