Weird slot behaviour?

I will use an example with aliases, since using them got my attention on this issue:

Aliases are implemented as a power-up rem of a slot type, that is a child of another power-up rem (a template) under the name of a tilde “~”.
image

Let’s say I have a rem called “Spare Time” and want to add an alias “Leisure Time”.
I can tag “Spare Time” with the template “~” power-up, and an unfilled slot shows up, then I can fill the slot (Aliases), turn it in to a list-card and add “Leisure Time”. Of course there are easier ways to do this, but this one illustrates how Aliases are implemented.

Unfortunately by doing this every other rem that is tagged with “Spare Time” or “Leisure Time” will be forced to fill an alias! It’s like it also was tagged with a template, except it’s not! Somehow the template functionality is carried on to the rems that are tagged with a rem tagged with a template.


“Some really cool activity” is not tagged with a ~, it’s only tagged with #Document, #Spare Time and #Now, only #Spare Time has an alias.

Is this a bug or I don’t understand how slots work? :wink:

It’s not a bug, it’s a feature!

Templates are implemented using tags, and tags basically signify inheritance: If you add a tag to a rem you make that rem semantically a subtype or instance of that tag. And all properties - the slots - are inherited as well.

This might be confusing at first, but it is extremely elegant and powerful:

Note how this plays nicely with the Tag with Parent shortcut if you make subtypes the children of the supertype.

In case of Aliases there actually is a bug though. If you compare it with Edit Later for example the message slot is not inherited like Aliases is.

Thanks Hannes for the explanation, now it makes sense!

Thanks Hannes (and Reijo for asking this question!) hopefully it’s sorted in the next update