Webel ADTs include inheritance (and aren’t actually formal ADTs)

Gallery
Tutorial
Click on the image to view it full size
For reference, an associated Policy Note (you don't need to visit this link yet):

The term Abstract Data Type (ADT) has been "hijacked" here from its original meaning as popularised for use in Mathematica by Roman Maeder, and the implementation is (heavily) adapted from one proposed by Roman Maeder.

Dr Darren says:
I might just have to live with people thinking I don't know what an Abstract Data Type (ADT) actually is. When I started working on this the term had some tradition in Mathematica, and it was a convenient way to distinguish ADT "pseudo classes" from the MTools classes I was otherwise using. And 'A', 'D', and 'T' are close together on a QWERTY keyboard.

Whether a particular Webel ADT actually counts as a formal ADT depends primarily on how the operations are implemented (and whether they realise formal ADT constraints).

In any case, where it appears here prefixed as Webel ADT it does not mean a formal Abstract Data Type (ADT), it just means a stateless pseudo class or strong type implemented using TagSetDelayed in the Wolfram Language.

Some departures from formal Abstract Data Type (ADT) usage are indicated by custom stereotypes with icons in the Webel SysML4Mathematica (v1) modelling:

There are some external links below for those curious about the formal computer science and maths definitions of Abstract Data Type (ADT).

Up next
Notes
Snippets (quotes/extracts)
Visit also
Visit also (backlinks)
Related slides (includes other tutorials)
Related slides (backlinks, includes other tutorials)
External links