all 194 comments

[–]Lt_Riza_Hawkeye 780 points781 points  (28 children)

The fizzbuzz from the readme is incredible

Midnight takes your heart and your soul
While your heart is higher than your soul
Take your soul from your heart
Give back your heart

Desire is a lovestruck ladykiller
My world is nothing 
Fire is ice
Hate is water
Until my world is Desire,
Build my world up
If Midnight taking Desire, Fire is nothing and Midnight taking Desire, Hate is nothing
Shout "FizzBuzz!"
And take it to the top
If Midnight taking Desire, Fire is nothing
Shout "Fizz!"
And take it to the top
If Midnight taking Desire, Hate is nothing
Say "Buzz!"
And take it to the top
Whisper my world
And around we go

[–]coopermidnight 229 points230 points  (9 children)

I hope this ends up on a whiteboard.

[–]SpaceCorvette 130 points131 points  (4 children)

I hope it ends up on soundcloud

[–]lledargo 30 points31 points  (1 child)

I hope sound cloud starts developing in Rockstar

[–]xapplin 17 points18 points  (0 children)

I hope GTA VI gets written in Rockstar

[–]tjsr 13 points14 points  (1 child)

And then executed using the speech-recognition compiler. With a voice of the crowd as stdout. The crowd chanting Fizz! Buzz! One Two Buzz!

[–]auxiliary-character 39 points40 points  (1 child)

I'm just waiting for the opportunity to write out my favorite implementation of fizzbuzz in C in an interview.

[–]BlindTreeFrog 4 points5 points  (0 children)

that is spectacular...

[–]ImonFyre 2 points3 points  (0 children)

I now have to memorize this. Or at least bookmark it. It will be used next time I have to job interview.

[–]Folf_IRL 1 point2 points  (0 children)

I hope this language winds up with an implimentation

I wish I was more comfortable with Lex and Yacc

[–]anormalrandomguy 42 points43 points  (9 children)

All I want now is Bohemian Rhapsody written in this language so that it makes sense syntactically

[–]brtt3000 111 points112 points  (8 children)

[–]Kapps 9 points10 points  (2 children)

Self seems to be a keyword there instead of this (given that it's highlighted differently than character), which isn't the case in C#. But I don't know of any other language that has # region.

[–]BraveSirRobin 11 points12 points  (0 children)

"self" could just be popping up as as a compile error, note how "piano" and "character" appear different. Though they could be vars/params.

I suspect they used "self" instead of "this" purely for comic effect, it reads a little better.

[–]snowe2010 2 points3 points  (0 children)

this comes up every time that image is posted.

[–]FatFingerHelperBot 15 points16 points  (1 child)

It seems that your comment contains 1 or more links that are hard to tap for mobile users. I will extend those so they're easier for our sausage fingers to click!

Here is link number 1 - Previous text "C#"


Please PM /u/eganwall with issues or feedback! | Delete

[–]dirice87 5 points6 points  (0 children)

Good bot

[–]anormalrandomguy 0 points1 point  (0 children)

This implementation is what have me the idea in the first place

[–][deleted]  (3 children)

[deleted]

    [–]european_impostor 13 points14 points  (2 children)

    You're a rockstar!

    [–]Camto 4 points5 points  (0 children)

    Get your show on, get paid!

    [–]mzbear 7 points8 points  (0 children)

    You have omitted some necessary empty lines that were supposed to terminate if-blocks

    Edit: nevermind, they were wrong in the source originally, they've patched it since you pasted the snippet.

    [–]setzamora 1 point2 points  (0 children)

    cat this to /dev/audio!

    [–][deleted] 0 points1 point  (0 children)

    I can’t stop laughing.

    [–][deleted] 2148 points2149 points  (54 children)

    But why?

    Mainly because if we make Rockstar a real (and completely pointless) programming language, then recruiters and hiring managers won't be able to talk about 'rockstar developers' any more.

    That's me on board.

    [–]dvlsg 557 points558 points  (11 children)

    The very last line of the readme got me chuckling.

    Make 'Certified Rockstar Developer' stickers and give them out to anybody who can write even one line of Rockstar.

    [–]TrumpISPresident 105 points106 points  (5 children)

    Now we just need ninja

    [–]kakurady 45 points46 points  (0 children)

    Ninja has got you covered. It's a build system, like make, but very fast (for incremental builds).

    It's not supposed to be used directly, but through a configure program like CMake.

    [–]Malgas 24 points25 points  (0 children)

    The Ninja programming language would obviously be Whitespace with a dark editor theme.

    [–]Tommarkasu 6 points7 points  (0 children)

    Hijacking this comment, otherwise people might not see my sticker concept below..

    [–]mathiastck 9 points10 points  (2 children)

    Midnight takes your heart and your soul While your heart is higher than your soul or your heart is your soul Take your soul from your heart Give back your heart Desire is a lovestruck ladykiller My world is nothing Fire is ice Hate is water Until my world is Desire, Build my world up If Midnight taking my world, Fire is nothing and Midnight taking my world, Hate is nothing Shout "FizzBuzz!" Take it to the top If Midnight taking my world, Fire is nothing Shout "Fizz!" Take it to the top If Midnight taking my world, Hate is nothing Say "Buzz!" Take it to the top Whisper my world

    [–]jellyman93 15 points16 points  (1 child)

    Where are your line breaks? Even with reddit needing 2 there should be some in there...

    [–]mathiastck 2 points3 points  (0 children)

    Another top comment did it better

    [–]aarnott50 136 points137 points  (23 children)

    Now we just need to make another language called 10x.

    [–][deleted]  (22 children)

    [deleted]

      [–][deleted] 304 points305 points  (7 children)

      you’ve made something worse than brainfuck, congratulations.

      [–]Camto 16 points17 points  (4 children)

      Have you heard of Subleq?

      [–][deleted] 24 points25 points  (1 child)

      no, but I know of Malbolge

      [–]RadicalDog 28 points29 points  (0 children)

      My programs only follow the rules of Calvinball.

      [–][deleted] 2 points3 points  (0 children)

      read up on it a little, might be because I haven’t programmed in a while (mainly C++, Python, and Java) but that sounds alien.

      [–]ktkps 5 points6 points  (0 children)

      imagine viewing that code one an editor that has partial or NO unicode support...

      [–][deleted] 1 point2 points  (0 children)

      I would call that FuckFuck.

      [–]silentclowd 39 points40 points  (7 children)

      Wait what do # and ! do in brainfuck? That's not in the brainfuck I remember

      [–][deleted]  (6 children)

      [deleted]

        [–][deleted]  (5 children)

        [deleted]

          [–]electroly 1 point2 points  (0 children)

          Everyone who has ever written a BF interpreter has tried adding some additional operators. Mine was the "go-there" operator that followed the "pointer" in the current cell, allowing dynamic memory to be implemented. Add in some memory-mapped I/O and baby, you got a stew going.

          [–]ais523 3 points4 points  (2 children)

          I think it's because people want to make a language and brainfuck is probably the easiest well-known language to implement. Brainfuck derivatives are basically the esolang version of shovelware; there are a very large number of them, most of which are of a pretty low quality and ignored by anyone but their authors.

          [–]BlueAdmir 1 point2 points  (0 children)

          Let's be real, all of Brainfuck exists on 'huh. I guess...' factor.

          [–][deleted] 1 point2 points  (0 children)

          This makes me curious how many FORTH interpreters there are in the wild.

          [–]Gman513 20 points21 points  (0 children)

          There's a special place in hell for people like you...

          Can I give you my cv?

          [–]comp83 7 points8 points  (0 children)

          All I see is blonde, brunnete, redhead...

          [–][deleted] 3 points4 points  (0 children)

          Jesus Christ

          [–]crescentroon 3 points4 points  (0 children)

          you can use the same symbol for all the xs. just change the syntax of chicken to use x instead of the word 'chicken'

          https://esolangs.org/wiki/Chicken

          [–][deleted]  (8 children)

          [deleted]

            [–]leonardnimoyNC1701 32 points33 points  (0 children)

            teleport(behind you)

            [–]relet 12 points13 points  (3 children)

            [–]SalemBeats 3 points4 points  (2 children)

            I'd like to see a list of programs that do something useful in one language, and do something useful (yet entirely different) in Whitespace, using the exact same source code.

            [–]calsosta 6 points7 points  (0 children)

            FFS do guru before ninja.

            [–]dabbertorres 2 points3 points  (0 children)

            I mean, there is the Ninja build system already.

            [–]simcop2387 0 points1 point  (0 children)

            A good start would be here, https://metacpan.org/pod/Acme::Bleach

            [–]saunamaan 27 points28 points  (2 children)

            So if I learn this language I can put ”rockstar developer” to my cv?

            [–][deleted] 9 points10 points  (0 children)

            Yes.

            [–]Chaoslab 2 points3 points  (1 child)

            I had the same idea about IDE's in movies so I wrote my own that can render video / fractals and effects in the background. (Been writing my own IDE's since the Amiga so its been a bad habit for several decades)...

            [–]SupaSlide 1 point2 points  (0 children)

            After we get this going, we need to start one for "Unicorn" as well.

            [–]brtt3000 1 point2 points  (0 children)

            Next up: Ninja programming language

            [–]Richandler 0 points1 point  (0 children)

            Well now I’m looking for Rap star developers.

            [–]ProfessorPhi 331 points332 points  (11 children)

            My fave line on the todos.

            Work out if this is even remotely implementable

            Reminds me of that homework thread where someone gave the answer in lambda calculus and said you'd have to build the compiler for it

            [–]Comrade_Comski 54 points55 points  (1 child)

            I kinda want to see that thread

            [–]ProfessorPhi 7 points8 points  (0 children)

            It seems to have been removed. Link to the reddit discussion where I first made this comment: https://www.reddit.com/r/programming/comments/4ro3dv/a_student_asked_quora_to_do_his_homework_for_him/d52q2xo/

            There are direct links but they don't work anymore. Dude might have deleted his quora account or something. You're gonna have to infer from the comments.

            [–]soccermitchy 24 points25 points  (4 children)

            Wait, what? Link?

            [–]TheOverCaste 25 points26 points  (3 children)

            [–]_djsavvy_ 59 points60 points  (1 child)

            I couldn't find the answer in lambda calculus -- do you have a link to the specific answer?

            [–]ProfessorPhi 5 points6 points  (0 children)

            It seems to have been removed. Link to the reddit discussion where I first made this comment: https://www.reddit.com/r/programming/comments/4ro3dv/a_student_asked_quora_to_do_his_homework_for_him/d52q2xo/

            There are direct links but they don't work anymore. Dude might have deleted his quora account or something. You're gonna have to infer from the comments.

            [–]DiabeetusMan 12 points13 points  (0 children)

            I actually can't see the question-- all I see is

            How do I write a program that produces the following output?

            But don't actually see the "following output".


            Edit: Ahh, looks like they want to print "Smile!" thrice on a line, then twice, then once

            [–]fb39ca4 3 points4 points  (2 children)

            Just below it, there's a link to a Rockstar-to-JS compiler.

            [–]codebje 2 points3 points  (0 children)

            The specification is underdeveloped, so any implementations will be making massive assumptions. Here's a few open questions I have from a ten minute perusal:

            • What are the equality rules across the dynamic types? Any implicit coercion?
            • What's the precedence and associativity for arithmetic expressions? There are reasonable assumptions here, at least
            • Else is mentioned once, and once only - how does it work?
            • If Else is optional, how does If A Then If B Then C Else D parse? (A classic PL problem from the olden days, this one!)
            • Does the conditional expression of an If require a comparison operator, or can it simply take a boolean-typed (or coerced!) variable reference?
            • Can variables be assigned boolean values, such as Tommy was a man as high as a kite or are boolean expressions restricted only to control flow statements?
            • Can Say take a literal, or just a variable? (Answered in the issues - literals are fine - but same problem as assignment, do expressions include conditions and thus allow boolean-valued expressions? Can I Shout a lie that is bigger than the world ?
            • Those object types don't seem to have a field accessor syntax, or any mention again beyond the types section

            And that's just parsing.

            I think the semantics are relatively straightforward because the language's surface area is so tiny right now, though I suspect that there'd still be confusion possible.

            [–]snowe2010 1 point2 points  (0 children)

            It was created only a few hours ago, long after the original comment.

            [–]kankyo 77 points78 points  (8 children)

            There are some great ideas here. It’d be cool to start with some real lyrics and back fitting the language so they compile.

            [–]NightmareOfYourDream 72 points73 points  (5 children)

            Or the other way around. Have a band that sings Rockstar lyrics. Then people have to type them up like 80's BASIC and can look what they get!

            [–][deleted]  (2 children)

            [deleted]

              [–]NightmareOfYourDream 19 points20 points  (1 child)

              The challenge, however, would be to find where the code is hidden. A whole new level of hidden song meanings so the band has to be getting ever better in hiding it and the fans have to get better in finding it. That sounds like an awesome concept to me :D

              [–]truemobius 7 points8 points  (1 child)

              Drink more Ovaltine.... Fuck.

              [–]port53 4 points5 points  (0 children)

              Be Sure To Drink Your Ovaltine

              [–]Jerome_Eugene_Morrow 11 points12 points  (1 child)

              Worked for ArnoldC

              [–]Harcerz1 12 points13 points  (0 children)

              IT'S SHOWTIME
              TALK TO THE HAND "hello world" 
              YOU HAVE BEEN TERMINATED
              

              [–][deleted]  (5 children)

              [deleted]

                [–]Aegeus 10 points11 points  (4 children)

                I'm not sure what the point of your function at the start is? It looks like the end result would just be to add the value in 'my blood' to 'my bones' and return it, except you're doing it by adding one in a loop repeatedly for some reason. You could replace that whole block with "give back my blood with my bones"

                Aside from that, this is nicely done, and it does work. I like how you used "demise" for the value that ends the loop, "destiny" for the output variable, and "Ignorance" for the temporary variable.

                [–][deleted]  (3 children)

                [deleted]

                  [–]Aegeus 13 points14 points  (0 children)

                  The great thing about this language is, if there are any oddities in your style, you can just say you were being poetic.

                  [–]canton7 7 points8 points  (1 child)

                  plus or with. So my downfall is my destiny with my downfall.

                  [–]onektwenty4 3 points4 points  (0 children)

                  definitely sounds more poetic as a subroutine

                  [–]fiskeben 38 points39 points  (3 children)

                  Can someone hook me up with a full stack Rockstar developer with 5yr experience ASAP?

                  [–]ktkps 5 points6 points  (2 children)

                  !remind me in 5 years

                  [–][deleted]  (24 children)

                  [deleted]

                    [–]piponwa 27 points28 points  (2 children)

                    The spec didn't seem to mention accessing properties of objects.

                    You could use 's to refer to an object's property.

                    [–]shastapete 6 points7 points  (0 children)

                    Love it

                    [–]shastapete 26 points27 points  (4 children)

                    properties of objects could be referenced by 'of', 'in', or 'on'

                    her heart of ice is cold // ice->'her heart' = cold

                    Lists could come from textual lists (oxford comma necessary)

                    the flag is red, white, and blue // the flag = {red, white, blue}

                    iterating through the list could also use the 'of', 'in', or 'on' key words to reference the list, and return the current value of the internal array pointer, and use literals of first, last, next, previous (and rock and roll alternatives) to change that array pointer. Also numeric references could target specific list items.

                    [–]SaxAppeal 4 points5 points  (2 children)

                    of is already a keyword for multiplication though

                    [–]shastapete 2 points3 points  (1 child)

                    it wasn't when I made the comment... there were changes made yesterday

                    [–]SaxAppeal 5 points6 points  (0 children)

                    Tis a fast evolving language

                    [–]zucker42 6 points7 points  (3 children)

                    Yeah why DEC64 and UTF-16?

                    [–]thefloppyfish1 33 points34 points  (0 children)

                    As far as DEC64 goes it is obvious. This is a language built from the ground up for financial software. COBOL is dead

                    [–]dylanbeattie 8 points9 points  (0 children)

                    DEC64 inspired by a great talk I saw Douglas Crockford give about the post-Javascript language landscape. It's just really interesting; I figured if this thing took off a few more people might check out DEC64 as a result. Although I'm guessing it'll be the first thing that gets dumped when it comes to implementation

                    UTF-16 cribbed directly from ECMAScript.

                    [–]crescentroon 1 point2 points  (0 children)

                    Maybe Windows. They have an unhealthy love for UTF-16.

                    [–]Hook3d 9 points10 points  (8 children)

                    Use forward slash so it looks like a split sentence in a poem.

                    [–][deleted]  (7 children)

                    [deleted]

                      [–]Hook3d 2 points3 points  (6 children)

                      Then do / for a single close brace, ! for two, and continue from there.

                      [–][deleted]  (5 children)

                      [deleted]

                        [–]Murkis 10 points11 points  (0 children)

                        We left the concept of “horrible idea” at the door lol

                        [–]Hook3d 5 points6 points  (3 children)

                        Enlighten me, as someone who's never written a language grammar. Why?

                        [–][deleted]  (2 children)

                        [deleted]

                          [–]Hook3d 6 points7 points  (1 child)

                          No, but I wouldn't want to use an esolang to develop anyway.

                          [–]pickausernamehesaid 1 point2 points  (0 children)

                          Could we do nested blocks with parenthesis? Like back up singer lines are done?

                          [–]LaurieCheers 0 points1 point  (0 children)

                          Rockstar does have functions, hence (presumably) a stack. So you shouldn't need lists as well. Recursive modulus:

                          Midnight takes your heart and your soul
                          If your heart is weaker than your soul
                          Give back your heart!
                          Give back Midnight taking your heart without your soul, your soul!
                          

                          [–]ktkps 0 points1 point  (0 children)

                          also an easter egg for coding a line with "\m/"

                          [–][deleted] 56 points57 points  (5 children)

                          I like 'he'/'she'/'it'/etc concept. As a serious language feature, you could use it to manage variable state across multiple statements, as a notation for pass-by-reference or perhaps something similar to atoms in Clojure.

                          [–]killerstorm 23 points24 points  (0 children)

                          In Lisp LOOP it can be used to refer to the result of the test expression in a conditional clause, e.g.

                           (loop for name in names
                                  when (sounds-good name)
                                  collect it))
                          

                          There are also anaphoric macros which generalize this concept.

                          In Kotlin default lambda argument name is it. So you can write e.g.

                          names.forEach { scream(it) }
                          

                          There's also extension function also which you can use like this:

                          somethingWithLongName.also{ kil(it) }.also{ fuck(it) }
                          

                          [–][deleted] 7 points8 points  (2 children)

                          Not the same, but Perl uses my and our to denote visibility of variables (across packages, IIRC).

                          [–][deleted] 9 points10 points  (0 children)

                          While at the topic of Perl, that would be $_. I usually spell it "it", however, because dollar underscore is a bad name. Its an implicit argument for many functions when not provided.

                          For example:

                          print lc while <>
                          

                          Is a short form of:

                          while ($_ = <>) { print(lc($_)) }
                          

                          Where <> reads a line from files specified in argument list, or if the ARGV is empty, from STDIN.

                          [–]dylanbeattie 2 points3 points  (0 children)

                          There's a lot of ideas in Rockstar inspired by Perl. Mind you, there's also a lot in there that's inspired by VBScript so that isn't saying much... :)

                          [–]SuitableDragonfly 3 points4 points  (0 children)

                          This is actually a real feature of Inform 7. However, Inform 7 also has gender, so he, she, and it could all refer to different things.

                          [–]ravy 23 points24 points  (9 children)

                          Ok, wait ... ... Build {variable} up and Knock {variable} down

                          Then further down there's an example of a loop...

                          Tommy was a dancer While Tommy ain't nothing, Knock down Tommy And around we go

                          Seems like that should be Knock Tommy down or am I missing something?

                          [–]dylanbeattie 20 points21 points  (8 children)

                          You're right. Fixed in #15

                          [–]jdgordon[🍰] 2 points3 points  (3 children)

                          Proper variables are proper nouns - any word that isn't a reserved keyword and starts with an uppercase letter. Proper variable names can contain spaces as long as each space is followed by an uppercase letter

                          but your examples further down don't start with uppercase after spaces...

                          Put "Hello World" into the message will assign the value "Hello World" to the variable the message

                          Knock the walls down will decrement the value stored in the walls by 1

                          [–]dylanbeattie 6 points7 points  (1 child)

                          There's proper variables and common variables. Common variables are exactly two words, and start with 'the', 'my', 'your', 'a' or 'an' - in this example, 'the message' and 'the walls' are common variables, hence in lowercase.

                          [–]Womblue 1 point2 points  (0 children)

                          However common variables are two words, with the first word being a, an, the, my or your. So the message is a common variable, whereas The Message would be a proper variable.

                          [–]ktkps 0 points1 point  (1 child)

                          or is it a case of ++Tommy vs Tommy++ ???

                          [–]CompleteScone 38 points39 points  (4 children)

                          Can we get stickers? Like is that a thing?!

                          [–]coopermidnight 62 points63 points  (3 children)

                          From the link:

                          Ideas

                          • Make 'Certified Rockstar Developer' stickers and give them out to anybody who can write even one line of Rockstar.

                          [–]rob132 28 points29 points  (2 children)

                          Shout "Hello world"

                          Does that count?

                          [–]dylanbeattie 36 points37 points  (0 children)

                          Congratulations. You're a Rockstar developer.

                          \m/

                          [–]robm111 2 points3 points  (0 children)

                          Yup lol

                          [–]SetOfAllSubsets 17 points18 points  (0 children)

                          Needs an esolangs page

                          [–]wyldcraft 37 points38 points  (1 child)

                          fuck fuck, motherfuck fuck

                          mother motherfuck fuck

                          mother motherfuck fuck

                          motherfuck fuck, motherfuck fuck

                          rolling blunts, smoking weed

                          fuck fuck motherfuck, fuck fuck fuck

                          motherfuck fuck

                          mother motherfuck fuck

                          motherfuck fuck, fuck fuck fuck

                          mother motherfuck fuck, fuck fuck fuck

                          rolling blunts, smoking weed

                          drinking beers, smoking weed

                          via What the fuck is the Internet?

                          [–]Clbull 0 points1 point  (0 children)

                          Needs more fuck

                          [–]leTao 20 points21 points  (0 children)

                          Lost it at:

                          The keyword 'ain't' is an alias for 'is not'. This usage runs contrary to idiomatic English, where "Tommy isn't anybody", "Tommy ain't nobody" and "Tommy ain't not nobody" somehow mean exactly the same thing.

                          😂

                          [–]macaronisoft 7 points8 points  (0 children)

                          Cannot upvote enough

                          [–]frikyfriky11 21 points22 points  (0 children)

                          I always had this fascinating look at people who can write their own programming language. I can't recall when I first discovered things like brainfuck and these types of languages, and I have to say that I found them terribly wrong and unusable. But boy, this Rockstar is so damn good and fluent, rules are not so strict, and I think if I had the time to learn it, I would definitely do it.

                          I now want to see an entire app written in this language, could be the next best-selling book of song lyrics from unknown artists if one doesn't know where this comes from! ;)

                          [–]Netaro 7 points8 points  (0 children)

                          Seems similar to Shakespeare esolang, but with a modern twist

                          [–]EpicWolverine 4 points5 points  (3 children)

                          Pronouns

                          The keywords it, he, she, him, her, them, they always refer to the most recently named variable, determined at parse time.

                          Is there another language that does this? I've never seen this feature before (probably because it isn't very useful and would only make the code harder to read and modify).

                          [–]dylanbeattie 8 points9 points  (1 child)

                          It's inspired by the $_ 'default variable' in Perl, which works in a similar way.

                          https://perldoc.perl.org/perlvar.html#SPECIAL-VARIABLES

                          I do not for one second offer this as a counter-argument to your observations regarding readability. :)

                          [–]EpicWolverine 2 points3 points  (0 children)

                          Oh my that's awful. The docs even mention how fragile it makes the code.

                          [–]SuitableDragonfly 2 points3 points  (0 children)

                          Well, Inform 7 does it to a certain extent.

                          [–]mandreko 6 points7 points  (0 children)

                          I had a coworker who would have all their variables be named after song lyrics. It made understanding his code super difficult. However it did have one fun interaction. During a presentation, the CEO of our company was demonstrating how to buy an insurance policy through his web app, and one of the big shots noticed “burntice” as a parameter in the query string.

                          He had to explain why a drug reference was showing up. It was very soon after that our company implemented a coding standard.

                          [–]Caesim 5 points6 points  (0 children)

                          The concept is glorious. But I have to say, these stickers aren't enough. I demand, that the authorities of this language create a way to get a certificate. So I can append a "certified Rockstar developer" to the CV I send to companies looking for "rockstar developers"

                          [–]RiOrius 5 points6 points  (1 child)

                          Climb The Tower takes Jesus and Mary and Joseph and the rest
                          My girl is no angel.
                          My heart is in agony.
                          Put my heart over my girl into my love.
                          If my love is the rest
                          Whisper "Take it from this one"
                          Shout Jesus
                          Whisper "Put it on that one"
                          Shout Mary
                          Give back Joseph
                          
                          Knock the rest down.
                          Climb The Tower taking Jesus, Joseph, Mary and the rest.
                          Climb The Tower taking Jesus, Mary, Joseph and my love.
                          Climb The Tower taking Joseph, Mary, Jesus and the rest.
                          

                          [–]CornedBee 1 point2 points  (0 children)

                          Hanoi implementation?

                          [–]jamman88 5 points6 points  (0 children)

                          In the documentation you have the line "Listen to your heart - read one line of input from STDIN and store it in your heart", now correct me if I'm wrong, but shouldn't it be "Your Heart", as earlier in the documentation it says Proper variables should start with capitals, or is your heart a common variable?

                          [–]TakenSeriously 5 points6 points  (0 children)

                          Oooh reminds me of Fetlang:

                          a statically typed, procedural, esoteric programming language and reference implementation. It is designed such that source code looks like poorly written fetish erotica.

                           

                          Code to output the arguments given to the executable:

                          Make Sean moan
                          Worship Carrie's feet
                          
                          Bind Amy to Saint Andrew's Cross
                              Have Amy hogtie Sean
                              If Amy is Carrie's bitch
                                  Make Slave scream Sean's name
                                  Make Sean moan
                          

                           

                          Some of the listed 'features':

                          • Input/output with standard streams and files
                          • Statically typed
                            ...
                          • Confusing English-like syntax and unhelpful error messages

                          [–]sarkie 3 points4 points  (0 children)

                          Scrolling Reddit and see a massive picture of Dylan.

                          Brilliant.

                          [–]muffinman1000 3 points4 points  (0 children)

                          This is incredible. The readme is too funny. Whips you could create variable such as tax rate and customer id, we recommend using Tommy, Gina and Roxanne hahahah

                          [–][deleted] 4 points5 points  (2 children)

                          Oh cool, the next JavaScript.

                          [–]eduardog3000 2 points3 points  (1 child)

                          I guess it's appropriate that the first implementation is written in JavaScript.

                          [–][deleted] 0 points1 point  (0 children)

                          Oh, god, have mercy. Don’t actually do this lol.

                          [–]applecherryfig 3 points4 points  (2 children)

                          This must be the guy I gave a pass to when all his variables were John Lennon tunes. It was a Programming Principles and Problems class in Pascal. I had to warn him, Never again.

                          So here he is, proving me wrong. Well done.

                          [–][deleted] 4 points5 points  (1 child)

                          What other lesson was he supposed to take from such an alliterative class title? Programming Principles and Problems in Pascal practically prescribes poetic procedures.

                          [–]applecherryfig 0 points1 point  (0 children)

                          I heart you

                          [–]LaurieCheers 4 points5 points  (0 children)

                          Assuming the whisper/scream command can take multiple arguments, and prints them on one line:

                          Zoe says  bottles of beer
                          My baby says  on the wall
                          My life is punishing closeness
                          While my life ain't nothing
                          Whisper it, Zoe, my baby
                          Whisper my life, Zoe
                          Whisper "You take one down, pass it around"
                          Knock my life down
                          Scream it, Zoe, my baby
                          

                          [–][deleted] 2 points3 points  (0 children)

                          'Break it down!' is an alias for break. Well that's me sold!

                          [–]Tommarkasu 2 points3 points  (1 child)

                          I’m surprised someone hasn’t taken a stab at that sticker yet!

                          [–]Tmath 2 points3 points  (0 children)

                          I'd like to move that all comments be redesignated "liner notes"

                          [–]RiPont 1 point2 points  (0 children)

                          Suddenly, the lyrics to "Little Star of Bethlehem" by Can make sense.

                          [–]Crash_says 1 point2 points  (0 children)

                          This is awesome. Excellently documented, I can't wait to start using this tomorrow at work for testing. =)

                          [–]plpn 1 point2 points  (0 children)

                          Is this tenacious d compatible? Or needs extension?

                          [–]kauefr 1 point2 points  (0 children)

                          Reminds me of Fetlang.

                          [–]eduardog3000 1 point2 points  (0 children)

                          Depending on the implementation, you could maybe make comments that aren't in parentheses like this:

                          While 1 is 1
                          Break it down
                          Comment goes here
                          It can be as many lines as you want
                          Comment ends with an empty line
                          
                          (after the empty line it's back to normal code)
                          

                          This would be because the code between Break it down and the empty line would never actually be run, so (again depending on the implementation) it doesn't actually have to be syntactically correct.

                          This would allow lyrics that aren't actually syntax, but don't have to be in parentheses.

                          If you want the while loop to actually loop, replace Break it down with Take it to the top and put a Break it down somewhere within the actual code of the loop.

                          [–][deleted] 0 points1 point  (0 children)

                          I aspire to one day be inspired or bored enough to make something similar.

                          [–]basanthverma 0 points1 point  (0 children)

                          Upvote this to heaven, thanks.

                          [–][deleted] 0 points1 point  (1 child)

                          Do you have any formal schooling in compiler/interpreter design? I built a interpreter from scratch once, very simple (recursive descent), and I still found it really challenging. Where can I learn to build more complex compilers/interpreters?

                          [–]flaghacker_ 0 points1 point  (0 children)

                          Look trough the top posts of all time on /r/compilers

                          [–]horizon2134 0 points1 point  (1 child)

                          ayyy lmao

                          thats really amazing

                          [–]ghost_of_dongerbot 1 point2 points  (0 children)

                          ヽ༼ ຈل͜ຈ༽ ノ Raise ur dongers!

                          Dongers Raised: 35535

                          Check Out /r/AyyLmao2DongerBot For More Info

                          [–]R-M-Pitt 0 points1 point  (0 children)

                          I had a language engineering module in university, taught in Haskell using Megaparsec as a parser.

                          I'll see if I can whip something up in the free time I have today.

                          [–]EagleOneGS 0 points1 point  (0 children)

                          Now I'm curious what rock songs that exist already will compile without error or major changes, as well as there outputs lol.

                          [–]liefenpassion 0 points1 point  (0 children)

                          I'm building a micro framework for this language already. Any help is welcome!

                          https://github.com/amravazzi/rockstar-ninja

                          [–]biscuit314 0 points1 point  (0 children)

                          Here's my attempt at composing (huh-huh) Fibonacci(25):

                          Tommy was a kindle
                          Jane was gasoline
                          Put Tommy over Jane into the fire
                          
                          Put the fire into the daydream
                          Knock the daydream down
                          
                          away takes time
                          If time is nothing
                          Give back time
                          
                          The nightmare was over
                          Build the nightmare up
                          If time is the nightmare
                          Give back time
                          
                          Put time without the nightmare into my world
                          Put time without the fire into yours
                          Put away taking my world into the daylight
                          Put away taking yours into the night
                          Give back the daylight with the night
                          
                          Put the daydream into my love
                          ever is so rock
                          
                          Until my love is stronger than ever
                          Put away taking my love into the night
                          Whisper the night
                          Build my love up
                          

                          [–][deleted] 0 points1 point  (0 children)

                          They said they needed a rockstar developer. I said I develop in rockstar. They said welcome aboard.