Template:Language: Difference between revisions

Undo revision 337588 by Tigerofdarkness (talk) Change didn't work
(Forgot to add the BG color change to the other table)
(Undo revision 337588 by Tigerofdarkness (talk) Change didn't work)
Tag: Undo
 
(53 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|}}}|[{{{site}}} Official website]}}
{|style="text-align: left; font-size: 75%; background-color: #f9f9f9;"
{{!}}}
|-
|}}
!{{#if:{{{site|}}}|[{{{site}}} Official website]}}
{|style="text-align: left; font-size: 75%; background-color: #f9f9f9transparent;"
|}
|{{#if: {{{tagsexec|}}}|{{{tags}}}!}}-
{|style="text-align: left; font-size: 75%; background-color: #f9f9f9;"
!{{#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: {{{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]]}}
}}
|-
!{{#if: {{{gc|}}}|![[:Category:Garbage collection|Garbage collected]]:}}
|{{#if: {{{gc|!}}}|{{ucfirst:{{{gc|}}}}}[[Category:Garbage collection/{{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 valuemethods]]|:
By {{lc!}}{{#ifeq: {{{parampass}}}}}|both| By reference, By value[[Category:Parameter passing/By {{lcreference]][[Category:{{{parampass}}}}}Parameter passing/By value]]}}}}|
! By {{#iflc: {{{parampass|}}}|}}[[:Category:Parameter passing|Parameter/By passing methods{{lc:{{{parampass}}}}}]]:}}
|-
{{!}}-
!{{#if: {{{safety|}}}|[[:Category:Typing|Type safety]]:}}
}}
|{{#if: {{{safety|}}}|{{#ifeq: {{{safety}}}|both|Safe, Unsafe[[Category:Typing/Safe]][[Category:Typing/Unsafe]]|{{ucfirst:{{{safety}}}}}
[[Category:Typing/{{ucfirst#if: {{{safety|}}}}}|![[:Category:Typing|Type safety]]}}}}:
|{{#if: {{{safety|}!}}|{{#ifeq: {{{safety}}}|both|Safe, Unsafe[[Category:Typing/Safe]][[Category:Typing/Unsafe]]|{{ucfirst:{{{safety}}}}}
|-
[[Category:Typing/Compatibility/{{ucfirst:{{{compatsafety}}}}}]]}}}}
!{{#if: {{{strength|}}}|[[:Category:Typing|Type strength]]:}}
{{!}}-
|{{#if: {{{strength|}}}|{{ucfirst:{{{strength}}}}}<br>[[Category:Typing/{{ucfirst:{{{strength}}}}}]]}}
}}
|-
!{{#if: {{{compatstrength|}}}|![[:Category:Typing/Compatibility|Type compatibilitystrength]]:}}
|{{#if: {{{compat|!}}}|{{#ifequcfirst: {{{compatstrength}}}|both|Nominative, Structural}}<br>[[Category:Typing/Compatibility/Nominative]][[Category:Typing/Compatibility/Structural]]|{{ucfirst:{{{compatstrength}}}}}]]
{{!}}-
[[Category:Typing/Compatibility/{{ucfirst:{{{compat}}}}}]]}}}}
}}
|-
!{{#if: {{{expresscompat|}}}|![[:Category:Typing/ExpressionCompatibility|Type expressioncompatibility]]:}}
|{{#if: {{{express|!}}}|{{ucfirst#ifeq: {{{express}}compat}}}|both|Nominative, Structural[[Category:Typing/ExpressionCompatibility/Nominative]][[Category:Typing/Compatibility/Structural]]|{{ucfirst:{{{expresscompat}}}}}]]}}
[[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#if: {{{checkingexpress|}}}}}|![[:Category:Typing/Checking/{{ucfirst:{{{checking}}}}}Expression|Type expression]]}}}}:
{{!}}{{#ifeq: {{{express}}}|both|Implicit, Explicit[[Category:Typing/Expression/Implicit]][[Category:Typing/Expression/Explicit]]|{{ucfirst:{{{express}}}}}
|-
[[Category:Typing/Expression/{{ucfirst:{{{express}}}}}]]}}
!{{#if: {{{untyped|}}}|{{#ifeq: {{{untyped}}}|yes|Untyped:}}}}
{{!}}-
|{{#if: {{{untyped|}}}|{{#ifeq: {{{untyped}}}|yes|yes[[Category:Typing/Untyped]]}}}}
}}
|-
!{{#if: {{{tagschecking|}}}|![[Help:Syntax_HighlightingCategory:Typing/Checking|LangType tag(s)checking]]:}}
|{{#if: {{{checking|}!}}|{{#ifeq: {{{checking}}}|both|Dynamic, Static[[Category:Typing/Checking/Dynamic]][[Category:Typing/Checking/Static]]|
|{{#if: {{{tags|}}}|{{{tags}}}}}
|{{#ifucfirst: {{{strengthchecking|}}}|{{ucfirst:{{{strength}}}}}<br>[[Category:Typing/Checking/{{ucfirst:{{{strengthchecking}}}}}]]}}
|-
{{!}}-
!See Also:
}}
|{{HOPL}}{{#if:{{{LCT|}}}|<br>[[Language Comparison Table#{{PAGENAME}}|{{PAGENAME}} compared to other languages]]}}
!{{#if: {{{untyped|}}}|!{{#ifeq: {{{untyped}}}|yes|UntypedTyping:}}}}
!{{#if: {{{safety|!}}}|Untyped[[:Category:Typing|Type safety/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 <includeonly>[[tasks not implemented in {{PAGENAME}}|unimplemented tasks]] or assist updating those [[:Category:{{PAGENAME}}Programming examples needing attentionLanguages|examples that need attention]].</div><includeonly>{{DEFAULTSORT:{{uc:{{PAGENAME}}}}}}[[Category:Programming Languages]][[Category{{#set:Solutionsis by Programming Language]]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 82 ⟶ 94:
|-
|express
|"implicit", "explicit", or "explicitboth"
|type expression
|-
Line 88 ⟶ 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,043

edits