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.
Example: In the Webel recipe for pseudo-class ADTs the
get
and head
UpValues below are called ADT-Methods. In this example they are generated by the base definer function:
adt$def$ADT[
class_Symbol,
$usage_String,
pattern_,
isAllSuper:(True|False):False
] := Module[{ ...},
...
class /: get[pattern] := $$;
class /: head[pattern] := Head[$$];
...
pattern
];
The stringLength
UpValue below is called an ADT-method:
pattern = adt$def$ADT[MY$ADT$String,
"An ADT that carries a String",
MY$ADT$String[$$_String],
True
];
MY$ADT$String /: stringLength[pattern] := StringLength[$$];
my$adt$s = MY$ADT$String["string1"];
stringLength[my$adt$s]
7
Note that ADT-Method refers here to the Wolfram Language code; in Webel SysML4Mathematica (v1) an ADT-Method is modelled as an Operation of a Block, optionally with a BehavioralFeature::method (typically an Activity).