Mathematica: POLICY: Webel: ADT pseudo classes: Multiple inheritance is supported via ONE (only) ADT-Class and one or more ADT-MemberInterfaces (which have no ADT-Method UpValues)

Webel IT Australia promotes the amazing Mathematica tool and the powerful Wolfram Language and offers professional Mathematica services for computational computing and data analysis. Our Mathematica tips, issue tracking, and wishlist is offered here most constructively to help improve the tool and language and support the Mathematica user community.
DISCLAIMER: Wolfram Research does not officially endorse analysis by Webel IT Australia.
Icon class
icon_class
far fa-sticky-note
icon_class_computed
far fa-sticky-note
Note kind
Policy level
Keywords
Click on the image to view it full size
The definition of a Webel ADT-MemberInterface is given under:

The image above shows a subset of a hierarchy including ADT-Classes XL$XL, XL$XL$Map, and XL$ResourcesMap, where XL$XL is a Webel ADT MemberInterface that defines membership in a family of classes that happen to be for handling OpenXML bundled XML spreadsheet files.

XL$Map has ADT signature XL$Map[$$_Association] and extends ADT$Map (with ADT template signature ADT$Map[$$_Association]), and also the MemberInterface XL$XL, which does nothing other than define membership.

Formally, the signature of XL$XL is XL$XL[$$:None], but that is typically not directly used (except for development testing):

The ADT-signature XL$XL[$$:None] is a blocking signature; the use of the single allowed match $$:None prevents it from being used for anything else:

i: get[XL$XL[None]]
o: None
i: get[XL$XL["will not work"]]

o: get[XL$XL["will not work"]]

(BTW error reporting for the above demonstration has been disabled.)

XL$XL$Map (which handles more restricted mapping to only XL$* classes) also extends ADT$Map and XL$XL.

Relates to
Related notes
Related notes (backlinks)
Related snippets (extracts)
Visit also
Visit also (backlinks)