TIP: Mathematica: Webel's ultimate guide to using Abstract Data Types to create "pseudo classes" (strong types) with inheritance for the Wolfram Language, all modelled in SysML!

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
Specification keywords
Mathematica keywords
Webel Mathematica keywords
Keywords
Dr Darren of Webel IT Australia has developed a Wolfram Language coding pattern for Abstract Data Type (ADT) pseudo-classes that includes inheritance. Because inheritance is NOT "evil".

The ADT approach does not replace full OO (and does make a compelling case for Wolfram Research to not offer fully fledged vendor-supported OO with IDE integration), but it's certainly better than nothing, and may be a good alternative if you don't want to rely on the valiantly attempted user-contributed MTools package.

In fact, because it's Mathematica, and has powerful pattern matching, the ADT approach offers a lot that traditional OO coding language can't. And remember:

And, it's also easy to model it in Systems Modeling Language v1 (SysML®), very useful! There is now a full slide tutorial trail section about the recipe, including SysML modelling examples:

And there is a summary of the associated Webel Policy notes (which are cross linked to the above slides):

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