Looking at Could a programming language work where variables are only differentiated by fonts?

It seems somewhat frivolous and likely to invites a family of similarly frivolous questions like "could a programming language be based on cats"

I feel that a less frivolous version of this question would be something like "what are the pros and cons of a language using fonts to distinguish variables" or similarly in reference to prior art.

On the other hand questions about esolangs are (as far as I know) considered on topic.

Should we close such questions and is the close reason of "needs more focus" correct?

  • $\begingroup$ Also where can you see who has vote to close a question before it is closed. I can't find that information myself. I assumed it was disallowed to help avoid revenge down voting. $\endgroup$ Jul 6, 2023 at 11:28
  • $\begingroup$ If anyone can view who's voted to close, it would only be moderators and SE staff/community managers. There's no way for normal community members to view who until the question is closed. $\endgroup$
    – lyxal Mod
    Jul 6, 2023 at 11:37
  • $\begingroup$ The OP knew - see the comments. I am trying to understand how $\endgroup$ Jul 6, 2023 at 11:42
  • $\begingroup$ There are questions on meta but I haven't found the answer meta.stackexchange.com/questions/166685/… meta.stackexchange.com/questions/90844/… $\endgroup$ Jul 6, 2023 at 11:43
  • 5
    $\begingroup$ The OP was guessing who VTC'd - Rydwolf Programs did not VTC the post (Rydwolf was last seen online 7 hours ago according to profile userscripts), so it's inaccurate. Notably, I was missing from the list of people in that comment despite the fact my VTC was the first one $\endgroup$
    – lyxal Mod
    Jul 6, 2023 at 11:45

5 Answers 5


I think this kind of question has two problems ─ it is not just frivolous, it is also trivial.

"Could a language be based on cats?" Yes. There is nothing else to add, except perhaps a reference to prior art. The answer is just obviously yes, and I can't see any reason why someone would be unsure that the answer is yes. So such a question should be closed as "needs details or clarity", because the asker hasn't explained what led them to believe the answer might be anything other than yes; an answer could only be useful if it clears up that confusion, so the question needs to explain what the confusion is.

The same response would apply to a trivial question even if it were not frivolous: for example, "is it possible for a language to be dynamically typed and also have exceptions?" Yes, of course it is possible, why would anyone suspect it is not? To answer such a question usefully we would need to know what the asker is confused about, such that they think the answer might be "no". So it "needs details or clarity".

That said, a question might be both frivolous and non-trivial. If the only problem with the question is that it is not useful, then it should be downvoted but not closed. "Not useful" is explicitly a reason to downvote a question.


Questions about whether you can make a language based on syntax, data structures, etc. that require little effort to write should be downvoted. I don't know if we can make the rules "objective" enough to make them a hard rule.

Questions like "Could you make a Turing complete language using only operation X", or "operations in category X", provided they show enough effort, could be interesting and good for the site.


I really disagree with the comparison drawn here. The question may be ill-posed in one way or another, but it's a category error to equate it with "could a programming language be based on cats". This question brushes up against, not quite coming to the point of asking, multiple legitimate on-topic non-trivial questions, and if it's closed it should be because it doesn't pick just one of them.

  • There is a long history of use of typographical variants, including typeface, for semantic meaning in programming languages. In fact, there's a longer history of that than virtually all languages that don't do so. The question touches on this point.

  • There are a number of ways of dealing with same-named or un-named variables, including De Bruijn indices, which this proposal is exactly analogous to. There is substance on this point too, even perhaps an onramp to a learning opportunity made accessible by the comic.

  • There is an element of how such a program would be edited, and structured editors and block-based or visual languages address these elements too. In fact, it's not even especially uncommon for such languages to distinguish variables or terms through some visual means, rather than just by name.

  • "Could it work" is a question of language ergonomics and usability, which provide both qualitative and quantitative evidence. It admits answers of the form "only up to N variables, because people can't readily distinguish more than that many fonts [cite]", of user studies with those visual languages — which do have a real question of how many types they can distinguish that way — described above, and of raising issues of accessibility.

    It's overly literal to take this phrasing as a trivial yes-no question, and good answers would address when and why it did, or didn't, work, and those answers would have real applicability to real design of programming systems.

All of these points have substance, none of them are frivolous, and all of them are raised within and behind this question. "Could a programming language be based on cats" raises nothing alike that, and such a question would be pointless, trivial, frivolous, and whatever else you like.

Now, is a question based entirely on a joke in a comic likely to be a good one? Probably not in general. Does this particular question make it all the way to any of these concrete points? No, not quite, so it likely is unfocused in that sense, but I don't like to dismiss it as entirely frivolous. I think there could well be solid questions that draw from this comic as an entrance point to serious PL topics, and they wouldn't even be extremely different from this one.

I don't think that questions should be excluded purely because they derive from jokes somehow, or from some pop-culture source. The aetiology of the question isn't relevant to whether it's raising a point of substance or not. There are genuinely good, on-topic, well-formed questions someone could ask about INTERCAL and its derivatives, for example, and we can't exclude those or the AspectJ people will object.

In its current form, closing this question as unfocused is reasonable, but it's not because it's frivolous, it's because it doesn't form a single coherent well-scoped question with a specific concept of "could work". "Motivated by xkcd.com/2309, I'm wondering [ how typography has been / how variable names can be / how users could / how far it's viable to ] ..." could all make for very reasonable questions, given some appropriate details and context.

  • $\begingroup$ I don't understand the apparent connection being drawn between INTERCAL and AspectJ. (Or was this some sort of offhand joke?) $\endgroup$ Jul 25, 2023 at 8:33
  • $\begingroup$ Pointcuts are grown-up COMEFROM. $\endgroup$
    – Michael Homer Mod
    Jul 25, 2023 at 9:09

I was reading the linked question first before I was reading this question here on Meta.

Because I'm new on this web site, and I don't know what's on-topic on this site, I don't want to give a direct answer here, but I see that the person who posted the question may have had one of two completely different intentions:

  1. The person wanted to post this comic and he was not interested in a serious answer at all

    In this case, it is (from my point of view) a clear misuse of the StackExchange network.

  2. The person was really interested in the answer

    For a person who knows that "visual programming languages" and/or esoteric languages based on pixel images exist, this question sounds trivial: Of course writing such a compiler would be possible.

    However, other persons might even be surprised that there are even professional languages whose "source code" is not "plain text" but for example some kind of drawing.

    Such a person might think that compilers can only read "plain text" files and that it is impossible that a compiler complains about something which cannot be stored in a "plain text" file (such as font or colour information).

    And for this reason, the person asks if this is possible at all.

I think saying that the question is "frivolous" is too hasty unless it is known that the person asking this question does not belong to the second group.


First, needs more focus is certainly the wrong close reason, as the are quite focused. If there is consensus to close, then do off-topic of make this a community specific reason.

Second, I believe it should be on topic. A few arguements:

  1. Where else would they go? They are programming languages, after all.
  2. Provided it's asked correctly, I can envision "Could a programming language be based off [dfferent types of] cats [being the keywords]" being a great and interesting question (added the brackets for to show an example. The questionw ithout the brackets might nto be good, but thats called needs clarity.
  3. what are the pros and cons of a language using fonts to distinguish variables is an idiotic question when its obvious that its impractical.
  • $\begingroup$ The original question is equally bad as its obvious that you can make a esolang out of virtually anything. My suggestion does not improve on it. $\endgroup$ Jul 6, 2023 at 11:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .