Template:Language beta: Difference between revisions

From Rosetta Code
Content added Content deleted
(Copied lang template, trying out generic properties)
 
(Mark as possibly redundant)
 
(10 intermediate revisions by one other user not shown)
Line 1: Line 1:
<includeonly>{{language/Start}}
{{infobox_begin}}'''{{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: transparent;"
{{#if:{{{site|test}}}|{{{!}}style="text-align: left; font-size: 75%; background: transparent;"
{{!}}-
{{!}}-
![{{{site}}} Official website]
![{{{site|http://example.com}}} Official website]
{{!}}}
{{!}}}
}}
}}
{|style="text-align: left; font-size: 75%; background: transparent;"
{|style="text-align: left; font-size: 90%"
{{#if: {{{exec|test}}}|{{language/Property/Generic|[[:Category:Execution method|Execution method]]:|{{#switch: {{lc:{{{exec|machine}}}}}|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: {{{exec|test}}}|{{language/Property/Generic|[[:Category:Execution method|Execution method]]:|{{#switch: {{lc:{{{exec|machine}}}}}|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|test}}}|{{language/Property/Generic|[[:Category:Garbage collection|Garbage collected]]:|{{ucfirst:{{{gc|yes}}}}}[[Category:Garbage collection/{{ucfirst:{{{gc|yes}}}}}]]}}
{{#if: {{{gc|test}}}|{{language/Property/Generic|[[:Category:Garbage collection|Garbage collected]]:|{{ucfirst:{{{gc|yes}}}}}[[Category:Garbage collection/{{ucfirst:{{{gc|yes}}}}}]]}}
{{!}}-
}}
}}
{{#if: {{{parampass|}}}|![[:Category:Parameter passing|Parameter passing methods]]:
{{#if: {{{parampass|test}}}|{{language/Property/Generic|[[:Category:Parameter passing|Parameter passing methods]]:|
{{!}}{{#ifeq: {{{parampass}}}|both| By reference, By value[[Category:Parameter passing/By reference]][[Category:Parameter passing/By value]]|
{{#ifeq: {{{parampass|both}}}|both|'''By reference, By value'''[[Category:Parameter passing/By reference]][[Category:Parameter passing/By value]]|
By {{lc:{{{parampass}}}}}[[Category:Parameter passing/By {{lc:{{{parampass}}}}}]]}}
'''By {{lc:{{{parampass}}}}}'''[[Category:Parameter passing/By {{lc:{{{parampass}}}}}]]}}}}
{{!}}-
}}
}}
{{#if: {{{safety|}}}|![[:Category:Typing|Type safety]]:
{{#if: {{{safety|test}}}|{{language/Property/Generic|[[:Category:Typing|Type safety]]:|
{{!}}{{#ifeq: {{{safety}}}|both|Safe, Unsafe[[Category:Typing/Safe]][[Category:Typing/Unsafe]]|{{ucfirst:{{{safety}}}}}
{{#ifeq: {{{safety|both}}}|both|'''Safe, Unsafe'''[[Category:Typing/Safe]][[Category:Typing/Unsafe]]|'''{{ucfirst:{{{safety}}}}}'''
[[Category:Typing/{{ucfirst:{{{safety}}}}}]]}}
[[Category:Typing/{{ucfirst:{{{safety}}}}}]]}}}}
{{!}}-
}}
}}
{{#if: {{{strength|}}}|![[:Category:Typing|Type strength]]:
{{#if: {{{strength|test}}}|{{language/Property/Generic|[[:Category:Typing|Type strength]]:|
{{!}}{{ucfirst:{{{strength}}}}}<br>[[Category:Typing/{{ucfirst:{{{strength}}}}}]]
'''{{ucfirst:{{{strength|strong}}}}}'''[[Category:Typing/{{ucfirst:{{{strength|strong}}}}}]]}}
{{!}}-
}}
}}
{{#if: {{{compat|}}}|![[:Category:Typing/Compatibility|Type compatibility]]:
{{#if: {{{compat|test}}}|{{language/Property/Generic|[[:Category:Typing/Compatibility|Type compatibility]]:|
{{!}}{{#ifeq: {{{compat}}}|both|Nominative, Structural[[Category:Typing/Compatibility/Nominative]][[Category:Typing/Compatibility/Structural]]|{{ucfirst:{{{compat}}}}}
{{#ifeq: {{{compat|both}}}|both|'''Nominative, Structural'''[[Category:Typing/Compatibility/Nominative]][[Category:Typing/Compatibility/Structural]]|'''{{ucfirst:{{{compat}}}}}'''
[[Category:Typing/Compatibility/{{ucfirst:{{{compat}}}}}]]}}
[[Category:Typing/Compatibility/{{ucfirst:{{{compat}}}}}]]}}}}
{{!}}-
}}
}}
{{#if: {{{express|}}}|![[:Category:Typing/Expression|Type expression]]:
{{#if: {{{express|test}}}|{{language/Property/Generic|[[:Category:Typing/Expression|Type expression]]:|
{{!}}{{ucfirst:{{{express}}}}}[[Category:Typing/Expression/{{ucfirst:{{{express}}}}}]]
{{#ifeq: {{{express|both}}}|both|'''Implicit, Explicit'''[[Category:Typing/Expression/Implicit]][[Category:Typing/Expression/Explicit]]|{{ucfirst:{{{express}}}}}
[[Category:Typing/Expression/{{ucfirst:{{{express}}}}}]]}}}}
{{!}}-
}}
}}
{{#if: {{{checking|}}}|![[:Category:Typing/Checking|Type checking]]:
{{#if: {{{checking|test}}}|{{language/Property/Generic|[[:Category:Typing/Checking|Type checking]]:|
{{!}}{{#ifeq: {{{checking}}}|both|Dynamic, Static[[Category:Typing/Checking/Dynamic]][[Category:Typing/Checking/Static]]|
{{#ifeq: {{{checking|both}}}|both|'''Dynamic, Static'''[[Category:Typing/Checking/Dynamic]][[Category:Typing/Checking/Static]]|
{{ucfirst:{{{checking|}}}}}[[Category:Typing/Checking/{{ucfirst:{{{checking}}}}}]]}}
{{ucfirst:{{{checking|}}}}}[[Category:Typing/Checking/{{ucfirst:{{{checking}}}}}]]}}}}
{{!}}-
}}
}}
{{#if: {{{untyped|}}}|!{{#ifeq: {{{untyped}}}|yes|Typing:
{{#if: {{{untyped|}}}|{{language/Property/Generic|{{#ifeq: {{{untyped|yes}}}|yes|Typing:}}|
{{!}}Untyped[[Category:Typing/Untyped]]}}
{{#ifeq: {{{untyped|yes}}}|yes|'''Untyped'''[[Category:Typing/Untyped]]}}}}
{{!}}-
}}
}}
{{#if: {{{tags|}}}|![[Help:Syntax_Highlighting|Lang tag(s)]]:
{{#if: {{{tags|test}}}|{{language/Property/Generic|[[Help:Syntax_Highlighting|Lang tag(s)]]:|
'''{{{tags|test1, test2}}}}}'''
{{!}}{{{tags}}}
{{!}}-
}}
}}
{{#ifeq: {{#expr: {{{LCT|0}}} or {{{bnf|0}}} or {{#ifeq: {{{hopl|yes}}} | yes | 1 | 0}} }}|0||{{language/Property/Generic|See Also:|
!See Also:
|{{*}}{{HOPL}}
{{#ifeq: {{{hopl|yes}}}|yes|*'''{{HOPL}}'''|}}
{{#if: {{{bnf|}}}|{{*}} [{{{bnf}}} BNF Grammar for {{PAGENAME}}]}}
{{#if: {{{bnf|test}}}|* '''[{{{bnf|http://example.com}}} BNF Grammar for {{PAGENAME}}]'''}}
{{#ifeq:{{{LCT|}}}|yes|{{*}} [[Language Comparison Table#{{PAGENAME}}|{{PAGENAME}} compared to other languages]]}}
{{#ifeq:{{{LCT|yes}}}|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}}.{{sharethis}}{{infobox_end}}{{Impl needed}}<includeonly>[[Category:Programming Languages|{{uc:{{PAGENAME}}}}]]</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.
Listed below are all of the tasks on Rosetta Code which have been solved using {{PAGENAME}}.{{sharethis}}
{{language/End}}
[[Category:Programming Languages|{{uc:{{PAGENAME}}}}]]</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:
Usage:
Line 60: Line 53:
!values
!values
!meaning
!meaning
|-
|name
|any string
|the name of the language
|-
|-
|exec
|exec
Line 113: Line 110:
|Where the BNF grammar for this language is located or may be found
|Where the BNF grammar for this language is located or may be found
|}
|}
{{template}}</noinclude>
{{template}}[[Category:Possible Redundant Templates]]</noinclude>

Latest revision as of 16:17, 30 March 2013

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:

Param name values meaning
name any string the name of the language
exec "machine", "interpreted", or "bytecode" execution method
site a full URL official language website
gc "yes" or "no" garbage collection
parampass "value", "reference", or "both" parameter passing mode(s)
safety "safe", "unsafe", or "both" type safety
strength "strong" or "weak" type strength
compat "nominative", "structural", "both", or "duck" type compatibility
express "implicit" or "explicit" type expression
checking "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
LCT "yes" or "no" whether this language has an entry in the Language Comparison Table
bnf (URL) Where the BNF grammar for this language is located or may be found

This is a template. There are many others. See Category:RCTemplates for a complete list of templates.