top | item 24578749

Tabloid: The Clickbait Headline Programming Language

245 points| benaubin | 5 years ago |tabloid.vercel.app

37 comments

order

thesephist|5 years ago

Hey HN! Author here, feel free to AMA. I've made less joke-y languages too before, most prominently Ink [0] which I use to write some of my own apps for personal notes/contacts/etc.

[0] https://dotink.co/

braythwayt|5 years ago

"Tabloid is a real, turing complete programming language written in JavaScript, inspired by _cilckbait_ headlines."

I like the deliberate misspelling of "clickbait," it layers a spam email feel on top of the clickbait ethos. Bravo!

vestrigi|5 years ago

Lovely creation you made! I started to wonder if some kind of template could be made from this that just requires you to enter your individual keyword names for the basic operations, regarding that it is just interpreted by javascript. I'm not at all into esoteric languages so I don't know if something like this exists. This approach just seems so simple to me, especially in case you want to create some more languages just for fun or want to open the doors to more beginners. The only boring thing would be that essentially each language created with the template would work the same way unless you modify that template.

dmcbrayer|5 years ago

This seems like a pretty large effort to commit to a joke. I applaud the effort, but I'm curious. What's your motivation?

IncRnd|5 years ago

Believe me, I've used absolutely EVERY LANGUAGE THERE IS. Imagine 4th Gen, dbs, procedural, OOP, blah blah blah. What REALLY MATTERS in the _Real World_ is TABLOID!

But WAIT, THERE's MORE! Before you delete all the other code and languages, first throw your computers and tablets away. TABLOID doesn't need any of that! TABLOID is Turing-Super-Complete!

mijoharas|5 years ago

nice stuff.

fyi, You've doubled up the line `BEATS / SMALLER THAN` under "how much is there".

linux2647|5 years ago

> But why?

> Didn't want to do homework for my database systems class, and needed something to do to procrastinate.

Amazing answer. But actually, I’ve found this to be true in my own life. Sometimes I work on a problem for too long and a creative break allows for improved creativity to flow when I go back to the original problem.

fredleblanc|5 years ago

Since we're pitching ideas, I'll pitch comments be any line that starts with "OFF THE RECORD..."

phrz|5 years ago

I suggest "10 EASY STEPS FOR BETTER i" as for(i=0;i<10;i++).

benaubin|5 years ago

10 [EASY|QUICK|WEIRD] STEPS = Range

[list expr] FOR [variable name] = map operator

guram11|5 years ago

or maybe "TOP 10 SECRETS 0 PERSON KNEW ABOUT"

This is a funny and shitty idea for a programming language while at the same time retaining something inspiring about it OTOH, really worth my time

Joker_vD|5 years ago

But does it support fake news?

    WHAT IF TOTALLY RIGHT IS ACTUALLY COMPLETELY WRONG
        RUMOR HAS IT
          YOU WON'T WANT TO MISS 'Alt-facts in logic'
        END OF STORY
        LIES! RUMOR HAS IT
          YOU WON'T WANT TO MISS 'Fake news are not discovered yet'
        END OF STORY
    
    PLEASE LIKE AND SUBSCRIBE
It prints that "FAKE NEWS ARE NOT DISCOVERED YET!", disappointingly enough.

Al-Khwarizmi|5 years ago

Proposed extensions:

  Assert(x==0): YOU WON'T BELIEVE x IS ACTUALLY 0

  x<y: x GETS OWNED BY y

  Define a struct/record:

  2 THINGS YOU DON'T KNOW ABOUT A rectangle
    base
    height

kerblang|5 years ago

Brilliant!

However: Ideally, someone would create a meta-language for defining the next ArnoldC/LolCat/Intercal/...Tabloid, assuming there will be a next, which I'm sure there is (nobody made a porn-based language yet, rule 33 or whatever number it was).

jtolmar|5 years ago

I used to have a program that'd take eight arbitrary tokens and output a programming language using those as its commands, just as a reskin of Brainfuck (such as Ook).

My copy is long gone, but it's an easy project if you want to make one for yourself.

mhh__|5 years ago

Compiler-compilers (not just parsing) do exist although they seem to have practically died out a long time ago (much easier to do when all language worth spending money on were procedural and structural if you were lucky)

penne12|5 years ago

The configuration file should be a collection of hackernews headlines

bitwize|5 years ago

It's cute, but a real language needs a lambda operator. I propose ONE WEIRD TRICK.

thesephist|5 years ago

This is actually so good I might implement it when I get time later. It just makes sense.

4cao|5 years ago

Excellent!

> PLEASE LIKE AND SUBSCRIBE

(= END [of program])

How about YouTuBasic?

penne12|5 years ago

The parser should use TikTokenization

CornCobs|5 years ago

Love this idea. Maybe you could add random value generation?

E.g. EXPERTS CLAIM <var> TO BE <type>. IT WILL SURPRISE YOU!

benaubin|5 years ago

Needs async/await:

async: DEVELOPING STORY [DISCOVER HOW TO...]

await: STAY TUNED FOR [expr]

dTal|5 years ago

I think "TOTALLY RIGHT" and "COMPLETELY WRONG" should be changed to "CONFIRMED" and "BUSTED".

mellosouls|5 years ago

Apart from anything else, the website itself is a great intro to the language, terrific UX; fun, witty and focused.

Great job!

noiv|5 years ago

Any one interested to start a Clickbait to React Transpiler?

darepublic|5 years ago

can't wait for the NLP that can compile transcripts of the national inquirer into working code

kodeninja|5 years ago

WHY I LOVE THIS--I've never laughed so hard while reading an HN post.

Great job!

anton96|5 years ago

I wonder what It would give with Nathan W Pyle's Alien.