# Forever if block removed

Ah. I was thinking about use cases where strings would need to be stored.

I can't tell whether you're paying too much attention to the fact that my example uses numbers. I just did that because they're simpler. But, for example,

If you want to add strings one at a time, instead of

you use

typically in a recursive call to a function that takes DATA as an input.

Ohhh, okay. That was what I was confused about. Thanks!

You could easily code something like that forever if block you are thinking of.

Back then, when I joined Snap! coming from Scratch, something that used to confuse me was the list system. In Scratch, you could make a list easily like you are making a variable. For Snap!, you have to assign a variable as a list.

Now I get it: other programming languages like Lua or C# all make their lists using variables, and I get that Snap! is sort of like these programming languages, but...

But, in Snap! a bunch of other things like sprites (images) can be stored in variables, and variables have to be made to any data type, so lists are treated equally to images, strings, numbers and sounds.

In other words, lists, sprites, costumes, strings, numbers, and sounds are all first-class, as oppose to some not being first-class.

You lot (some of you that is) have variables on the brain. You don't have to put a list (or anything else) in a variable to use it.

etc. etc.

The impression I had (no expert here) was that first class and non-first class data can both be used directly, so the distinguishing factor is that first class data can be kept in a variable.

No, "first class" means it can be used without being in a variable.

Imagine if numbers weren't first class. Then instead of just 2+3 you'd have to say
SET TWO TO 2
SET THREE TO 3
TWO+THREE

@bh can you return the forever if block?

No. He already said so. And he never will.

Tell me the reply that he already said so

Look, the whole reason we exist is to enable users, such as for example you, to create blocks on your own. If you can't live without FOREVER IF, it's easy to write it yourself! Knock yourself out! Go wild!

If we made every trivial thing a user asks for primitive, we would be denying you the experience of writing it yourself.

Sometimes we have to add features to support building certain control structures. For example, we had to invent upvars to support writing FOR.

Bring back the forever if block

Okay, listen.

1: You've been spamming on the Forums, and no one likes that. You could get banned or suspended or something on the Forums for doing that. Please stop.

2: @bh said that the devs won't add the block again. Stop being a Karen and stop saying the same things to get someone to do something. Believe me, it won't work.

3: Another nail in the coffin! You don't pay attention to anything in our comments! So pay attention to others. Don't act arrogant or be condescending.

You already asked this question on the scratch forums a month ago lol. Nobody's going to bring it back.