# Alloy Authors - Practical Alloy - Subset signatures (Highlights)

## Metadata
**Review**:: [readwise.io](https://readwise.io/bookreview/50865013)
**Source**:: #from/readwise #from/reader
**Zettel**:: #zettel/fleeting
**Status**:: #x
**Authors**:: [[Alloy Authors]]
**Full Title**:: Practical Alloy - Subset signatures
**Category**:: #articles #readwise/articles
**Category Icon**:: 📰
**URL**:: [practicalalloy.github.io](https://practicalalloy.github.io/chapters/structural-topics/topics/subset-signatures/index.html)
**Host**:: [[practicalalloy.github.io]]
**Highlighted**:: [[2025-04-25]]
**Created**:: [[2025-04-26]]
## Highlights
- That is not always the case, and in fact subset signatures can be used to encode powerful patterns, including something that resembles multiple inheritance. ([View Highlight](https://read.readwise.io/read/01jsp1pydaag071jqjhm3976sb)) ^881771628
- The key idea would be to declare all three signatures as subsets of the `Tag` signature, and then use a fact to encode the type hierarchy constraints, namely the fact that `Tag` is abstract and that `Alert` is the set of tags that are both shapes and labels ([View Highlight](https://read.readwise.io/read/01jsp3annenpf7bffddmdh2gkk)) ^881778329
- On a last note, due to all the flexibility of subset signatures, particularly the fact that they may contain atoms from unrelated signatures, they cannot be extended, only contain other subset signatures. ([View Highlight](https://read.readwise.io/read/01jsp5czh3nh9hbs0nex3zb894)) ^881786073