Mathematica: Webel: ADT pseudo classes: POLICY: Every named concrete Abstract Data Type (ADT) class has a ONE unique "signature" (which is the pattern passed to the "definer" functions). To vary a signature, define another unique ADT class name.

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

Example: The unique defining ADT-signature of the concrete ADT pseudo class MY$ADT$String could be MY$ADT$String[$$_String].

No further adaptations of that signature are permitted!

In the Webel recipe this redefinition (to change the number of permitted String) is NOT allowed:

MY$ADT$String[$$___String].
Part of the reason for this strict POLICY is that the Webel recipe for ADTs is modelled in object-friendly Systems Modeling Language v1 (SysML®). But this constraint has many other advantages (and it also makes things easier in IDEs).

Example: The following is NOT allowed in the Webel recipe for ADT pseudo classes in:

MyADT[$$_List]
My$ADT[$$_Association]

Use a different name with the same ADT-definer:

My$ADT$Map[$$_Association]

This may be combined with the Webel inheritance mechanism for ADTs (although that would make little sense with the examples here for List vs Association).

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