RosettaCodeData/Lang/C1R/00-LANG.txt
2023-07-01 13:44:08 -04:00

32 lines
No EOL
2.1 KiB
Text

{{language
|exec=machine
|gc=no
|safety=unsafe
|parampass=value
|checking=static
|compat=nominative
|express=explicit
|strength=weak
|hopl=no}}{{language programming paradigm|Imperative}}
'''C1R''' is a general-purpose, [[procedural programming|procedural]], [[imperative programming|imperative]] computer programming language, partially developed by André van Delft in 2011. It is a small extension to the well known [[derived from::compatible with::C]] programming language, allowing for very small programs that implement tasks that are implemented by C programs at RosettaCode.org.
C1R can also be regarded as an [[adaptive]] language, as the set of valid C1R programs varies with the C implementations for tasks at Rosetta Code.
The development of C1R has been inspired on the [[HQ9+]] and [[C0H]] programming languages. HQ9+ accepts "H" in its source to print "Hello World!". C0H improves over HQ9+ by offering the full power of the C language; moreover, C0H offers a shorter path to writing a Hello World program: just create an empty file. C1R allows the user to submit a text file with just a simple reference of a task implemented in C at Rosetta Code; that reference is the implementation of the task in C1R.
E.g., the following C1R program
<lang c>
Hello_world/Text
</lang>
does exactly the same as the C program listed at the "[[Hello_world/Text]]" page, namely print "Goodbye world!".
==Implementation==
C1R is implemented using a Shell script that calls the C compiler. The script starts by testing whether C code should be downloaded from the Rosetta Code site. The Quine task is treated as a special case.
See [[C1R Implementation]]
==Acknowledgement==
When hearing of C0H, Jelle van Zeijl suggested to make a similar language based on downloading C code from the Rosetta Code site.
==Documentation==
To get a reference document on C1R, it is advised to upgrade a reference document on the "C" programming language, and attach a Post-it note stating C1R is like C, except that in case it contains just 1 line that directs to a Rosetta Code URL with a valid C implementation.
{{language programming paradigm|Imperative}}