JOINing a block with a block in its input removes the inner block

It's easier to explain with an image:

It should return this:
untitled script pic - 2021-12-18T213547.610

I first got it with this:

This doesn't work:

but this does:

I've patched the current dev version with a fix for this:
Please give it a try (make sure to hard-reload the page to refresh the browser cache) and let me know if you encounter any more issues.

You're welcome.

It works in the dev version now!

Is this a bug?:
untitled script pic - 2021-12-22T174655.913

Edit: This works, but it uses JS :-(

This isn't a bug, what you want to accomplish is reifying literals, and I'm not supporting that. You can use unevaluated input slots for that, but - honestly - it doesn't make sense, because literals are just constants that don't closurize an environment.


I want it to be something like the Scheme (quote ...), so:

which is exactly what I want it to report.


I want to un-reify them, not reify them. (Edit: the block reifies things, but I need the block to know if its input is a literal so it can only then un-reify it)

un-reifying is call. If you want to quote a ring you can ringify the ring.

But what if I have a reporter with a side effect in the input? I don't want any side effects. I only want to un-reify a literal.

Literals in Snap! are text, numbers and Booleans. If you want to extract the body of a function you can now use split for that.

That doesn't help me here, because with this:
untitled script pic - 2021-12-23T040305.912
it gives this:
untitled script pic - 2021-12-23T040309.944
untitled script pic - 2021-12-23T040316.230
untitled script pic - 2021-12-23T040327.972

I have to have it unevaluated, because:

What I need is how the <is _ a reified literal?> of this:
untitled script pic - 2021-12-23T040901.228
is supposed to be defined, without Javascript. (I know how to do it with JS, but I want to un-JS-ify it.)

can you give me an example of what you really want to accomplish?

I want to make

in Snap!, as a step towards making macros. This stuff about a block called "QUOTE" was my project. Here.

we'll get around to macros, this is now a first step.

Yes but I want to make some steps myself in the meantime.

geez, and I always thought us Smalltalkers/OOP folks were too full of it :smiley: