32 lines
No EOL
2.1 KiB
Text
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}} |