Template:Language: Difference between revisions

Undo revision 337588 by Tigerofdarkness (talk) Change didn't work
(More defaultsorts)
(Undo revision 337588 by Tigerofdarkness (talk) Change didn't work)
Tag: Undo
 
(49 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 [[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 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,048

edits