This puzzle is about inductees into the Rock & Roll Hall of Fame and Rockstar, a programming language “designed for creating programs that are also hair metal power ballads”.
The sections of text look like song lyrics but are also marked up and formatted as source code.
Some of the “lyrics” sound fairly natural (many are actual song lyrics), but others sound rather
artificial, and a few use words that are common to programming like let
and
while
.
Opener
Here’s a brief overview of some Rockstar constructs used in the puzzle:
There are three types of variables in Rockstar.
- simple variables: a single word, like
guitar
- common variables: a modifier and a word, like
the guitar
ormy guitar
(the modifier is part of the name, so these two examples are different) - proper variables: multiple words, all capitalized, like
Jimi Hendrix
they
and it
to refer to the most recently parsed variable.
Rockstar has aliases for
- constants,
so you can write
ok
andlies
instead oftrue
andfalse
- operators,
so you can write
with without of over
instead of+ - * /
.
You can assign to variables using
let variable be expression
let variable be operation expression
to perform compound assignment (let x be with y
isx += y
)put expression in|into variable
variable say|says|said unquoted string
variable is|are|was|were poetic value
, where the poetic value can be a constant or a poetic number, which forms a number whose digits are the lengths of the words in the phrase (modulo 10).
's
and 're
are aliases for is
.
Rock
and Roll
are
array/queue operations.
Cast
and burn
convert strings to numbers and numbers to unicode characters.
In Rockstar, you listen
to
input and
say|scream|shout|whisper
output.
Inductees
The first ten programs can be completed by filling in the blanks with the titles of songs by a single Rock & Roll Hall of Fame inductee. Rockstar language syntax and semantics help constrain which songs can be used and where. Clues are also provided by song lyrics or references, or parenthetical parts of titles (which do not affect the code, since parentheses are used for comments in Rockstar). The list of initials below each code block should also help with discovering/confirming the list of songs.
Sam Cooke
I was born by the river, in a little tent
Put it into my heart
It's been a long time comin', but I know
A Change Is Gonna Come
Heart is understanding, courage, compassion
Let there be a change of heart
You're making not a sound
That's Where It's At
Love is a blessing
Worry is my gently nagging kinsman
While my heart ain't gone
Let my heart be without worry
Let that be with love
Let me be that with you, you, you
A fish was made to swim in the ocean
A boat was made to sail on the sea
You Were Made for Me
My dreams were so real
Let them be of a fish without a boat
Let me be with my dreams of you
Grandfather's Clock was too large for the shelf
It was taller by half than the old man himself
The Song Is Ended
Let The Lord be there with me
Peace is satisfaction. Heartfelt moments, relaxed sighs, waterfalls cascading noiselessly
Put the song of the Lord into my heart
Let it be of peace
Turn them up
Let Grandfather be with Him
Whisper it
I = 42352164
my_heart = I
my_heart = 41445314
a_change = 54
heart = 370
there = a_change * heart
you = 6315
that = 532
love = 18
worry = 2677
while my_heart != NULL
my_heart -= worry
that += love
me = that + you + you + you
a_fish = 424235
a_boat = 424233
you = 432
my_dreams = 24
my_dreams *= a_fish - a_boat
me += my_dreams * you
grandfather = 5335335
grandfather = 62443337
the_song = 5
the_lord = there + me
peace = 2.9775091
my_heart = the_song * the_lord
my_heart *= peace
my_heart = round_up(my_heart)
grandfather += my_heart
print(grandfather)
The Four Tops
Yesterday's Dreams have changed
An alternative is a different meaning
Let it be of yesterday
Our love is changed
It's the Same Old Song, but
Let it be with an alternative
Your Love Is Amazing
If your love ain't gone
Loving You Is Sweeter Than Ever
Let it be with your love, our love
My life was loneliness
Put my life without Loving You in gloom
Restriction is a basic inability, with expensive ambiguity. Stops forward motion
That's not a street you can walk
Society Asks Are You Man Enough?
What Is A Man?
He's not ashamed to lose
There is hope for future generations
Let them be without what, Society Asks
Let that be without restriction
Put that over there in rooms
This House is just a place
Let it be 7-Rooms of Gloom
Build them up, up
Turn them up
Whisper them
yesterday = 647
an_alternative = 197
an_alternative *= yesterday
our_love = 7
our_love = 34343
our_love += an_alternative
your_love = 7
if your_love != NULL
Loving_You = 744
Loving_You += your_love + our_love
my_life = 0
gloom = my_life - Loving_You
restriction = 159499.576
that = 316334
Society_Asks = 336
what = 13
what = 3724
there = 4361
there -= what + Society_Asks
that -= restriction
rooms = that / there
This_House = 415
This_House = 7 - rooms * gloom
This_House += 2
This_House = round_up(This_House)
print(This_House)
Aretha Franklin
You're A Sweet Sweet Man
All I Know is it's so doggone good
This Girl's In Love With You
I Say A Little Prayer for you
Put it in my heart
Shatter it
That's how it must be to live
Let it be Without You
Let that be of my heart
Love Is The Only Thing that matters at all
You're All I Need to Get By
It was plain to see, you were my destiny
Until You Were Gone
I said I'd get over you, baby
Let love be with you
Break it down
The freeway's jam-packed. We ain't goin' nowhere!
The perfume is a stinky pungent exaggeration. Cement 'n' blacktop
Put the Freeway of Love in the mirror
Turn it around
Let This Girl be over it
A Rose Is Still A Rose
You're still a flower, baby girl
There's a woman right next to you
Sisters Are Doin' It For Themselves
Put All I Know of you, sisters in my soul
Let that be with This Girl of my soul over there
Turn it around
Rock Steady like exactly what it is
Push steady like we see the light
While steady Ain't Nobody (Gonna Turn Me Around)
Join steady in harmony
Cast them into the water
The Thrill Is Gone (From Yesterday's Kiss)
Put it in steady
Let that be with the water
Let it be with the perfume of a rose
Turn it around
Whisper it
you = 1553
All_I_Know = 3274
This_Girl = 2443
I = "A Little Prayer for you"
my_heart = I
my_heart = my_heart.split("")
that = 324224
that -= you
that *= len(my_heart)
love = 3454723
you = 314232
you = 5233427
until you == NULL
i = "I'd get over you, baby"
love += you
break
the_freeway = 0.2447
the_perfume = 1672.618
the_mirror = the_freeway * love
the_mirror = round(the_mirror)
This_Girl /= the_mirror
a_rose = 514
you = 51644
there = 155423
sisters = 4230
my_soul = All_I_Know * you * sisters
that += This_Girl * my_soul / there
that = round(that)
steady.push(7422)
steady.push(2335)
while steady != NULL
harmony = steady.join("")
the_water = parse_number(harmony)
the_thrill = NULL
steady = the_thrill
that += the_water
that += the_perfume * a_rose
that = round(that)
print(that)
The Impressions
My song says People Get Ready
There's a train a-comin'
Let it be of my song
Put it into my heart
Freedom is self-evident, unalienable
Justice is blind
Equality is three hundred years overdue
This Is My Country
Let it be of freedom, justice, and equality
If there ain't freedom
Shatter my heart
If there ain't justice
Something's Mighty Mighty Wrong
Let us be something of my heart
Hope is our foundation. Permanent and solid, enduring
Build it up
Let us be of hope
Turn it up
If there ain't equality
My strength is a force to be reckoned with
We're gonna Keep On Pushing
Put it with my strength into our souls
Delay was never ours
Knock it down
Shout this without delay with us, our souls
my_song = "People Get Ready"
there = 157
there *= my_song
my_heart = there
freedom = 21
justice = 5
equality = 5757
this = 27
this *= freedom * justice * equality
if there != freedom
my_heart = my_heart.split("")
if there != justice
something = 665
us = something * len(my_heart)
hope = 30.9358
hope += 1
us *= hope
us = round_up(us)
if there != equality
my_strength = 152284
we = 5427
our_souls = we + my_strength
delay = 54
delay -= 1
print(this - delay + us + our_souls)
The Isley Brothers
You're the Key To My Heart
Rock That Thang like a fox
The Heat Is On
That's the Way Love Is
Put the heat of you with that into your hand
Carefree is easy
Let yourself be carefree
It's a Disco Night (Rock Don't Stop)
Put Yourself In My Place
If my place ain't wrong
Everything Is Alright
Let it be without That Thang, That Thang
Let my place be of everything
Put your hand in mine
Let it be without my place
Pop That Thang in the barnyard
Let mine be with it
The sheets are aquamarine. Faded
This Old Heart's broken 'n' worn
Let it be Between the Sheets
Build it up
Shout This Old Heart of Mine (Is Weak for You)
you = 33225
That_Thang.push(13)
the_heat = 2
that = 3342
your_hand = the_heat * you + that
carefree = 4
yourself = carefree
yourself = 155
my_place = yourself
if my_place != FALSE
everything = 7
everything -= len(That_Thang) + len(That_Thang)
my_place *= everything
mine = your_hand
mine -= my_place
the_barnyard = That_Thang.pop()
mine += the_barnyard
the_sheets = 0.5
This_Old_Heart = 614
This_Old_Heart /= the_sheets
This_Old_Heart += 1
print(This_Old_Heart * mine)
Etta James
A girl is tremendous
A woman is formidable
So are their dreams
It's a Man's Man's Man's World
If it's nothing without a woman or a girl
Say It Isn't So
Something's Got a Hold on Me
Last is empowering
A piece is saying goodbye
Love's Been Rough on Me
Put something with love into my life
A Change Is Gonna Do Me Good
The Blues Is My Business
Let this be a change between the blues
Turn it around
Put 842-3089 (Call My Name) in your phonebook
Rock your dial with it
Put it At Last into my heart
Put a Piece of My Heart into your song
That's All I Want From You
Let them be without your song, and so
Our story is beginning! Hallelujah!
Yesterday's Music is gone
Let it be without our story
Let the end be that without this
Feeling is honest, come my new day
Shout the end of yesterday with feeling
a_girl = 0
a_woman = 0
so = 56
so = 14445
if (so == NULL - a_woman) OR a_girl
print(so != so)
something = 31422
last = 0
a_piece = 67
love = 4522
my_life = something + love
the_blues = 28
a_change = 5224
this = a_change / the_blues
this = round(this)
your_phonebook = 842 - 3089
your_dial.push(your_phonebook)
my_heart = your_dial[last]
your_song = a_piece * my_heart
that = 31443
that -= your_song + so
our_story = 90
yesterday = 524
yesterday -= our_story
the_end = that - this
feeling = 64233
print(the_end * yesterday + feeling)
Bob Marley
What's New Pussycat
Everything's gonna be all right
The Sun Is Shining, the weather is sweet
Let it be what of it
There was a Buffalo Soldier in the heart of America
Running is a way
My Cup is a humble vessel
Let it be over running
let them be with the sun
The highly are humble
The lowly are just the same
Jah Is Mighty
Let Him be with the highly, the lowly, the highly, the lowly
Put my cup with Him into Jah
Johnny Was a good, good, good, good man
Let Jah be with him
Let love be everything of Jah
Fear is a harsh sister
Everything is not without sadness. The adventurer travels far afield; chants hallelujah with gratitude
Let it be without fear
Let there be love over everything
Turn it around
Shout it
what = 38
everything = 5235
the_sun = 73725
the_sun = what * the_sun
there = 17723527
running = 13
my_cup = 166
my_cup /= running
my_cup += the_sun
the_highly = 6
the_lowly = 434
jah = 6
jah += the_highly + the_lowly + the_highly + the_lowly
jah = my_cup + jah
johnny = 144443
jah += johnny
love = everything * jah
fear = 156
everything = 377.307366049
everything -= fear
there = love / everything
there = round(there)
print(there)
Martha and the Vandellas
Here's the deal:
Everybody's Talking
Knock them down
The Hurt Is Over (Since I've Found You)
Let them be with everybody
This Is When I Need You Most
Put the hurt of this into me
The time was so long, but now
You're gonna be in trouble
My Boyfriend's Back
Let me be over it
Loneliness Is A Lonely Feelin'
Let me be without loneliness
Summer's too long
My heart is burning. This (Love Is Like a) Heat Wave
The moon is high. Shiny, luminous ball; milk-white
If summer's here and the time is right,
We're Dancing in the Street
Let This Day Be it over my heart
Let them be over the moon
Let me be without them
Turn them around
Happiness Is Guaranteed
Rock A Love Like Yours (Don't Come Knocking Everyday)
Rock a love like (There's) Always Something There To Remind Me
Unite a love with happiness
Cast it into my dreams
Say it with me
here = 34
everybody = 7
everybody -= 1
the_hurt = 4
the_hurt += everybody
this = 41434
me = the_hurt * this
the_time = 2433
you = 5227
my_boyfriend = 4
me /= my_boyfriend
loneliness = 166
me -= loneliness
summer = 34
my_heart = 7.444
the_moon = 4.584
if summer == here AND the_time == TRUE
we = 7236
This_Day = we / my_heart
This_Day /= the_moon
me -= This_Day
This_Day = round(This_Day)
happiness = 0
a_love.push(5)
a_love.push(695262)
a_love.join(0)
my_dreams = parse_number(a_love)
print(my_dreams + me)
The Supremes
Warm is your gentle touch
You Are The Heart Of Me
Perhaps Is There A Place (In His Heart for Me)?
Let the wisdom be perhaps with you
We're happy holding hands
Love Is In Our Hearts
Let the beginning be we of love
Time is power
Put The Wisdom Of Time in chains
Mama said it's a game of give and take
Put her in your thoughts
It's Got To Be A Miracle (This Thing Called Love)
Easy is saying Hello Stranger
It's So Hard For Me To Say Goodbye
My world was revealed
You're What's Missing In My Life
Here's to happiness and health!
Let me be here with you, and your thoughts
Love Is Here And Now You're Gone
You're not there, and the lonely cry fades in the air
If love ain't easy
Happiness is eluding me
This Is The Story
Let it be of my world
Let me be over this, love
Put me in love
Put (Don't Break These) Chains of Love in my heart
Loving You Is Better Than Ever
Let my heart be over Loving You
Pain is our lopsidedness. Living is many kinds of feelings
My words were never mine alone
Let the end be her without pain, my heart
Let tomorrow be The Beginning of the End
Turn it down
Shout it
warm = 465
you = 3522
perhaps = 515
the_wisdom = perhaps + you
we = 575
love = 236
the_beginning = we * love
time = 5
chains = the_wisdom * time
mama = "it's a game of give and take"
your_thoughts = mama
your_thoughts = 32217
easy = 658
easy = 2432237
my_world = 8
you = 57224
here = 2936
me = here + you + your_thoughts
love = 43354
you = 3533635233
if love != easy
happiness = 72
this = 35
this *= my_world
me /= this * love
love = me
my_heart = chains * love
Loving_You = 644
my_heart /= Loving_You
pain = 32.624528
my_words = 545
the_end = my_words - pain - my_heart
tomorrow = the_beginning * the_end
tomorrow = round_down(tomorrow)
print(tomorrow)
Stevie Wonder
Love's in Need of Love Today
Hate's goin' 'round breaking many hearts
Let me be love without hate
You Are The Sunshine of My Life
That's why I'll always be around
My Love Is With You, where ever you are
Let me be with you, my love
Put that in your heart
My Love Is On Fire
My heart is on the wild
That's why we made it through the years
I Was Made To Love Her
Let my heart be with her
Each Beat is a new soothing, lilting descant. Twinkling star of evening
You're so Uptight (Everything's Alright)
Freedom is coming
It's Wrong (Apartheid)
If freedom ain't right
She's lovely, isn't she?
Let freedom be With Each Beat of My Heart
Turn it around
A song is strong in my soul
Put freedom With a Song in My Heart
If my heart is as big As your heart
Let me be with you, my love, my heart
Let your heart be with that
Let me be with your heart
Say it
love = 24245
hate = 45846
me = love - hate
you = 38224
that = 33626
my_love = 435433
me += you + my_love
your_heart = that
my_love = 24
my_heart = 234
that = 3242735
i = 4243
my_heart += i
Each_Beat = 13877.9427
you = 27
freedom = 7
freedom = FALSE
if freedom != TRUE
freedom = 643
freedom += Each_Beat * my_heart
freedom = round(freedom)
a_song = 6224
my_heart = freedom + a_song
if my_heart >= your_heart
me += you + my_love + my_heart
your_heart += that
me += your_heart
print(me)
Finale
The final(e) code block is a complete Rockstar program, but it does nothing unless given some input.
Our dreams are resplendent vermilion, gleaming warmly
Thought is a path, not a destination
Reality is a tenacious, steadfast matter
The earth is solid
The oceans are transparent
My forge is a foundation
Our love is strong. True
Let it be of the earth
Burn it
Until our dreams are reality,
The cosmos is mysterious
Rock it
Roll it
Listen to your heart
If it's empty,
Break it down
Split it with silence of thought
While your heart is as big as the oceans
Roll your heart into your soul
Roll your heart into your voice
Let your soul be with your voice
Burn your soul with my forge
Cast your soul into the flames
Rock the cosmos with it
Build our dreams up
Unite the cosmos with our love
Whisper it
our_dreams = 1986
thought = 14311
reality = 1996
the_earth = 5
the_oceans = 1
my_forge = 10
our_love = 6.4
our_love *= the earth
our_love = unicode_char(our_love)
until our_dreams == reality
the_cosmos = UNDEFINED
the_cosmos = [the_cosmos]
the_cosmos.pop()
your_heart = a line of input
if your_heart == ""
break
your_heart.split("" * thought)
while your_heart >= the_oceans
your_soul = your_heart.pop()
your_voice = your_heart.pop()
your_soul += your_voice
parse_number(your_soul, my_forge)
the-flames = unicode_char(your_soul)
the_cosmos.push(the_flames)
our_dreams += 1
the_cosmos.join(our_love)
print(the_cosmos)
The inductee programs end in an output statement, each printing an eight-digit number when run. The programs were given in alphabetical order by artist, so they should be reordered before extraction. Each artist was inducted into the Hall of Fame in a different, consecutive class year, so the outputs should be reordered chronologically (the final program’s loop from 1986 to 1995 also helps clue/confirm this).
Artist | Class | Output |
---|---|---|
Sam Cooke | 1986 | 67488265 |
Aretha Franklin | 1987 | 82508782 |
The Supremes | 1988 | 69496984 |
Stevie Wonder | 1989 | 65866884 |
The Four Tops | 1990 | 84697372 |
The Impressions | 1991 | 69826869 |
The Isley Brothers | 1992 | 84837870 |
Etta James | 1993 | 72698473 |
Bob Marley | 1994 | 69708382 |
Martha and the Vandellas | 1995 | 50798469 |
Giving the outputs above as input to the final program produces the following output:
C 0 R A R 2 W R E 1 E T A V D T T E I H E R D E T S N F H E T I E F S R 2 O T E
Reading down the columns gives the answer to the puzzle: CREATE THE 2021 VERSE FOR WE DIDNT START THE FIRE