Template:Language: Difference between revisions

From Rosetta Code
Content added Content deleted
(comment out extra whitespace used in category conditional formatting)
(Made language beta changes. This may need work.)
Line 1: Line 1:
<div class="infobox" style="width: 2in">
<div class="infobox" style="width: 2in">
<big>'''Programming Language'''</big><br />
<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. {{#ifexist::Category:{{PAGENAME}} Implementations|You may find a list of its implementations [[:Category:{{PAGENAME}} Implementations|here]].|}} {{#ifexist::Category:{{PAGENAME}} User|You may find a list of its users on RC [[:Category:{{PAGENAME}} User|here]].|}}
{{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.
{|style="text-align: left; font-size: 75%;"
|-
!{{#if:{{{site|}}}|[{{{site}}} Official website]}}
|}
{|style="text-align: left; font-size: 75%;"
|-
!{{#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 value]]|
By {{lc:{{{parampass}}}}}[[Category:Parameter passing/By {{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:{{{safety}}}}}]]}}}}
|-
!{{#if: {{{strength|}}}|[[:Category:Typing|Type strength]]:}}
|{{#if: {{{strength|}}}|{{ucfirst:{{{strength}}}}}<br>[[Category:Typing/{{ucfirst:{{{strength}}}}}]]}}
|-
!{{#if: {{{compat|}}}|[[:Category:Typing/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: {{{express|}}}|[[:Category:Typing/Expression|Type expression]]:}}
|{{#if: {{{express|}}}|{{ucfirst:{{{express}}}}}[[Category:Typing/Expression/{{ucfirst:{{{express}}}}}]]}}
|-
!{{#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: {{{untyped|}}}|{{#ifeq: {{{untyped}}}|yes|Untyped:}}}}
|{{#if: {{{untyped|}}}|{{#ifeq: {{{untyped}}}|yes|yes[[Category:Typing/Untyped]]}}}}
|-
!{{#if: {{{tags|}}}|[[Help:Syntax_Highlighting|Lang tag(s)]]:}}
|{{#if: {{{tags|}}}|{{{tags}}}}}
|-
!See Also:
|{{HOPL}}{{#if:{{{LCT}}}|<br>[[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 {{PAGENAME}}, please write code for some of the [[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]][[Category:Solutions by Programming Language]]</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:
Listed below are all of the tasks on Rosetta Code which have been solved using {{PAGENAME}}.
{|style="text-align: center;"

!Param name
See also: {{HOPL}}</div><div class="infobox" style="width: 2in"><big>'''Your Help Needed'''</big><br />If you know {{PAGENAME}}, please write code for some of the [[tasks not implemented in {{PAGENAME}}|unimplemented tasks]] or assist updating those [[:Category:{{PAGENAME}} examples needing attention|examples that need attention]].</div><!--
!values
--><includeonly>[[Category:Programming Languages]][[Category:Solutions by Programming Language]]<!--
!meaning
-->{{#if: {{{gc|}}}|[[Category:Garbage collection/{{ucfirst:{{{gc}}}}}]]}}<!--
|-
-->{{#if: {{{parampass|}}}|<!--
|site
-->{{#ifeq: {{{parampass}}}|both|[[Category:Parameter passing/By reference]][[Category:Parameter passing/By value]]|<!--
|a full URL
-->[[Category:Parameter passing/By {{lc:{{{parampass}}}}}]]}}}}<!--
|official language website
-->{{#if: {{{safety|}}}|<!--
|-
-->{{#ifeq: {{{safety}}}|both|[[Category:Typing/Safe]][[Category:Typing/Unsafe]]|<!--
|gc
-->[[Category:Typing/{{ucfirst:{{{safety}}}}}]]}}}}<!--
|"yes" or "no"
-->{{#if: {{{strength|}}}|[[Category:Typing/{{ucfirst:{{{strength}}}}}]]}}<!--
|garbage collection
-->{{#if: {{{compat|}}}|<!--
|-
-->{{#ifeq: {{{compat}}}|both|[[Category:Typing/Compatibility/Nominative]][[Category:Typing/Compatibility/Structural]]|<!--
|parampass
-->[[Category:Typing/Compatibility/{{ucfirst:{{{compat}}}}}]]}}}}<!--
|"value", "reference", or "both"
-->{{#if: {{{express|}}}|[[Category:Typing/Expression/{{ucfirst:{{{express}}}}}]]}}<!--
|parameter passing mode(s)
-->{{#if: {{{checking|}}}|<!--
|-
-->{{#ifeq: {{{checking}}}|both|[[Category:Typing/Checking/Dynamic]][[Category:Typing/Checking/Static]]|<!--
|safety
-->[[Category:Typing/Checking/{{ucfirst:{{{checking}}}}}]]}}}}<!--
|"safe", "unsafe", or "both"
-->{{#if: {{{untyped|}}}<!--
|type safety
-->|{{#ifeq: {{{untyped}}}|yes|[[Category:Typing/Untyped]]}}}}</includeonly><noinclude>
|-
Don't put a great deal of information in this box. It's 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. And that looks ugly.
|strength

|"strong" or "weak"
</noinclude><noinclude>{{template}}</noinclude>
|type strength
|-
|compat
|"nominative", "structural", "both", or "duck"
|type compatibility
|-
|express
|"implicit" or "explicit"
|type expression
|-
|checking
|"static", "dynamic", or "both"
|type checking
|-
|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]]
|}
{{template}}</noinclude>

Revision as of 01:06, 29 July 2009

Programming Language
Language 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.

See Also: Language on the HOPL
Language compared to other languages
Listed below are all of the tasks on Rosetta Code which have been solved using Language.
Your Help Needed
If you know Language, please write code for some of the unimplemented tasks or assist updating those examples that need attention.

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
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
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

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