Reference

From Esolang
Jump to navigation Jump to search

Reference is an esolang invented by User:None1 that can read its source code, but not modify it.

Commands

Command table
Command Meaning Example
[i~j] (i,j are positive decimal integers) Output the i-th to the j-th characters of the source code [3~5] prints the third to the fifth characters of the source code
\ Escape character \x prints x.
Other characters Print themselves a prints a

When the parser sees a [, it tries to find the nearest ], if there is no nearest ] or the things between the two brackets do not follow the [i~j] format, the [ is treated as Other characters.

Files in Windows use CR+LF as newlines, to avoid this issue, an interpreter removes all CR characters in the source code read before interpreting it.

Examples

Hello, World!

Hello, World!

Quine

Quine

Another Quine (cheating)

[1~5]

Output [

\[

Output ]

]

Never Gonna Give You Up

We're no strangers to love
You know the rules and so do I (do I)
A full commitment's what I'm thinking of
You wouldn't get this from any other guy

I just wanna tell you how I'm feeling
Gotta make you understand

Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you

We've known each other for so long
Your heart's been aching, but you're too shy to say it (say it)
Inside, we both know what's been going on (going on)
We know the game and we're gonna play it

And if you ask me how I'm feeling
Don't tell me you're too blind to see

[214~384]

[214~384]

[387~578]

[149~211]

[214~384]

[214~384]

[214~384]

Truth-machine

Only works if it supports nested reference (interpret the selected characters), and input 0 prints 0[0~6.

[11~2x]____[5~5][0~6]

x is the input.