Template:Language: Difference between revisions

Undo revision 337588 by Tigerofdarkness (talk) Change didn't work
(The ! template seems to work for getting rid of the site table whitespace, but I can't get it to work for the other tables)
(Undo revision 337588 by Tigerofdarkness (talk) Change didn't work)
Tag: Undo
 
(48 intermediate revisions by 9 users not shown)
Line 1:
{{infobox_begin}}{{Language/Icon}}'''{{PAGENAME}}'''<br/> This '''programming language''' may be used to instruct a computer to perform a task.
<div class="infobox" style="width: 2in">
{{#if:{{{site|}}}|{{{!}}style="text-align: left; font-size: 75%; background-color: #f9f9f9transparent;"
<big>'''Programming Language'''</big><br />
{{PAGENAME}} is a programming language. It may be used to instruct computers to accomplish a variety of tasks which may or may not be domain-specific.
{{#if:{{{site|}}}|{{{!}}style="text-align: left; font-size: 75%; background-color: #f9f9f9;"
{{!}}-
![{{{site}}} Official website]
{{!}}}
}}
{|style="text-align: left; font-size: 75%; background-color: #f9f9f9transparent;"
{{#if: {{{exec|}}}|{{!}}-
|-
!{{#if: {{{exec|}}}|[[:Category:Execution method|Execution method]]:}}
|{{!}}{{#switch: {{lc:{{{exec|}}}}}|machine = Compiled (machine code) [[Category:Execution method/Compiled/Machine code]]|interpreted = Interpreted [[Category:Execution method/Interpreted]]|bytecode = Compiled (bytecode) [[Category:Execution method/Compiled/Bytecode]]|both = Interpreted or compiled [[Category:Execution method/Interpreted]][[Category:Execution method/Compiled]]}}
{{!}}-
|-
}}
!{{#if: {{{gc|}}}|[[:Category:Garbage collection|Garbage collected]]:}}
|{{#if: {{{gc|}}}|{{ucfirst:{{{gc}}}}}![[:Category:Garbage collection/{{ucfirst:{{{gc}}}}}|Garbage collected]]}}:
{{!}}{{#ifucfirst: {{{gc|}}}|}}[[:Category:Garbage collection|Garbage collected]]/{{ucfirst:{{{gc}}}}}]]
|-
{{!}}-
!{{#if: {{{parampass|}}}|[[:Category:Parameter passing|Parameter passing methods]]:}}
}}
|{{#if: {{{parampass|}}}|{{#ifeq: {{{parampass}}}|both| By reference, By value[[Category:Parameter passing/By reference]][[Category:Parameter passing/By value]]|
By {{lc#if: {{{parampass|}}}}}|![[:Category:Parameter passing/By|Parameter {{lc:{{{parampass}}}}}passing methods]]}}}}:
{{!}}{{#ififeq: {{{parampass|}}}|both| By reference, By value[[:Category:Parameter passing|/By reference]][[Category:Parameter passing/By methodsvalue]]:}}|
|-
! By {{#iflc: {{{safety|parampass}}}}}|[[:Category:Typing|TypeParameter safetypassing/By {{lc:{{{parampass}}}}}]]:}}
{{!}}-
|{{#if: {{{safety|}}}|{{#ifeq: {{{safety}}}|both|Safe, Unsafe[[Category:Typing/Safe]][[Category:Typing/Unsafe]]|{{ucfirst:{{{safety}}}}}
}}
[[Category:Typing/{{ucfirst:{{{safety}}}}}]]}}}}
!{{#if: {{{checkingsafety|}}}|![[:Category:Typing/Checking|Type checkingsafety]]:}}
|-
{{!}}{{#ififeq: {{{strength|safety}}}|both|Safe, Unsafe[[Category:Typing/Safe]][[Category:Typing|Type strength/Unsafe]]|{{ucfirst:{{{safety}}}}}
|{{#if: {{{strength|}}}|{{ucfirst:{{{strength}}}}}<br>[[Category:Typing/{{ucfirst:{{{strengthsafety}}}}}]]}}
{{!}}-
|-
}}
!{{#if: {{{compat|}}}|[[:Category:Typing/Compatibility|Type compatibility]]:}}
!{{#if: {{{expressstrength|}}}|![[:Category:Typing/Expression|Type expressionstrength]]:}}
|{{#if: {{{compat|}}}|{{#ifeq: {{{compat}}}|both|Nominative, Structural[[Category:Typing/Compatibility/Nominative]][[Category:Typing/Compatibility/Structural]]|{{ucfirst:{{{compat}}}}}
{{!}}{{ucfirst:{{{strength}}}}}<br>[[Category:Typing/Compatibility/{{ucfirst:{{{compatstrength}}}}}]]}}}}
{{!}}-
|-
}}
!{{#if: {{{express|}}}|[[:Category:Typing/Expression|Type expression]]:}}
|{{#if: {{{expresscompat|}}}|{{ucfirst:{{{express}}}}}![[:Category:Typing/Expression/{{ucfirst:{{{express}}}}}Compatibility|Type compatibility]]}}:
|{{#if: {{{compat|}!}}|{{#ifeq: {{{compat}}}|both|Nominative, Structural[[Category:Typing/Compatibility/Nominative]][[Category:Typing/Compatibility/Structural]]|{{ucfirst:{{{compat}}}}}
|-
[[Category:Typing/Compatibility/{{ucfirst:{{{compat}}}}}]]}}
!{{#if: {{{checking|}}}|[[:Category:Typing/Checking|Type checking]]:}}
{{!}}-
|{{#if: {{{checking|}}}|{{#ifeq: {{{checking}}}|both|Dynamic, Static[[Category:Typing/Checking/Dynamic]][[Category:Typing/Checking/Static]]|
}}
{{ucfirst:{{{checking|}}}}}[[Category:Typing/Checking/{{ucfirst:{{{checking}}}}}]]}}}}
!{{#if: {{{compatexpress|}}}|![[:Category:Typing/CompatibilityExpression|Type compatibilityexpression]]:}}
|-
|{{#if: {{{safety|!}}}|{{#ifeq: {{{safetyexpress}}}|both|SafeImplicit, UnsafeExplicit[[Category:Typing/SafeExpression/Implicit]][[Category:Typing/UnsafeExpression/Explicit]]|{{ucfirst:{{{safetyexpress}}}}}
!{{#if: {{{untyped|}}}|{{#ifeq: {{{untyped}}}|yes|Untyped:}}}}
[[Category:Typing/Expression/{{ucfirst:{{{safetyexpress}}}}}]]}}}}
|{{#if: {{{untyped|}}}|{{#ifeq: {{{untyped}}}|yes|yes[[Category:Typing/Untyped]]}}}}
{{!}}-
|-
}}
!{{#if: {{{tags|}}}|[[Help:Syntax_Highlighting|Lang tag(s)]]:}}
|{{#if: {{{tagschecking|}}}|{{{tags}}}}}![[:Category:Typing/Checking|Type checking]]:
|{{#if: {{{checking|}!}}|{{#ifeq: {{{checking}}}|both|Dynamic, Static[[Category:Typing/Checking/Dynamic]][[Category:Typing/Checking/Static]]|
|-
{{ucfirst:{{{checking|}}}}}[[Category:Typing/Checking/{{ucfirst:{{{checking}}}}}]]}}}}
!See Also:
{{!}}-
|{{HOPL}}{{#if:{{{LCT|}}}|<br>[[Language Comparison Table#{{PAGENAME}}|{{PAGENAME}} compared to other languages]]}}
}}
!{{#if: {{{untyped|}}}|!{{#ifeq: {{{untyped}}}|yes|UntypedTyping:}}}}
{{!}}Untyped[[Category:Typing/Untyped]]}}
{{!}}-
}}
!{{#if: {{{tags|}}}|![[Help:Syntax_Highlighting|Lang tag(s)]]:}}
{{!}}{{{tags}}}
{{!}}-
}}
{{#ifeq: {{#expr: {{{LCT|0}}} or {{{bnf|0}}} or {{#ifeq: {{{hopl|yes}}} | yes | 1 | 0}} }}|0||!See Also:}}
|{{#ifeq: {{{hopl|yes}}}|yes|{{*}}{{#if: {{{hopl id|}}}|{{HOPL|id={{{hopl id}}} }}|{{HOPL}} }}|}}
{{#if: {{{bnf|}}}|{{*}} [{{{bnf}}} BNF Grammar for {{PAGENAME}}]}}
|{{HOPL}}{{#ififeq:{{{LCT|}}}|<br>yes|{{*}} [[Language Comparison Table#{{PAGENAME}}|{{PAGENAME}} compared to other languages]]}}
|}
Listed below are all of the tasks on Rosetta Code which have been solved using {{PAGENAME}}.</div><div class="infobox" style="width: 2in"><big>'''Your Help Needed'''</big><br />If you know {{PAGENAMEinfobox_end}}, please write code for some of the [[Reports:Tasks not implemented in {{PAGENAME}}|unimplemented tasks]] or assist updating those [[:Category:{{PAGENAME}} examples needing attention|examples that need attention]].</div><includeonly>[[Category:Programming Languages|{{uc:{{PAGENAME}}}}]][[Category:Solutions by Programming Language|{{uc#set:{{PAGENAMEis language=true}}}}]]</includeonly><noinclude>This box is primarily used in category pages (click "What links here" in the navbar on the left), not all of which will have much information in them. If a language category page has too little content, but too many articles, the infobox will overlap the article list.
 
Usage:
{|class="wikitable" style="text-align: center;"
!Param  name
!values
!meaning
|-
|exec
|"machine", "interpreted", "bytecode", or "bytecodeboth"
|execution method
|-
Line 83 ⟶ 94:
|-
|express
|"implicit", "explicit", or "explicitboth"
|type expression
|-
Line 89 ⟶ 100:
|"static", "dynamic", or "both"
|type checking
|-
|untyped
|"yes" or undefined
|"yes" if the language has no type system
|-
|tags
|a list of lang tag arguments
|this language's corresponding lang tag argument
|-
|hopl
|"yes" or undefined are the same, any other value is essentially "no"
|whether there should be a link to the HOPL from this language page. If defined and non-"yes" there will be no link. If undefined there will be a link.
|-
|hopl id
|id number like "1558"
|id number from HOPL. If defined, link to HOPL bypasses search page.
|-
|LCT
|"yes" or "no"
|whether this language has an entry in the [[Language Comparison Table]]. '''Only use "yes" if you have added it to the LCT or plan to add it shortly.'''
|-
|bnf
|(URL)
|Where the BNF grammar for this language is located or may be found. This should remain undefined if there is no BNF.
|}
{{template}}</noinclude>
3,021

edits