
Muldis::D::Core::Attributive - Muldis D generic attributive operators

This document is Muldis::D::Core::Attributive version 0.148.0.

This document is part of the Muldis D language specification, whose root document is Muldis::D; you should read that root document before you read this one, which provides subservient details. Moreover, you should read the Muldis::D::Core document before this current document, as that forms its own tree beneath a root document branch.

This document describes essentially all of the core Muldis D generic operators that types composed of named attributes would have. In particular, all the virtual operators that tuples and relations implement.
This documentation is pending.

function degree (NNInt <-- topic@ : Attributive) {...}
This virtual function results in the degree of its argument (that is, the count of attributes it has).
function is_nullary (Bool <-- topic@ : Attributive) {...}
This virtual function results in Bool:True iff its argument has a degree of zero (that is,
it has zero attributes),
and Bool:False otherwise.
function is_not_nullary (Bool <-- topic@ : Attributive) {...}
This virtual function is exactly the same as sys.std.Core.Attributive.is_nullary except that it results in the opposite boolean value when given the same argument.
function has_attrs (Bool <-- topic@ : Attributive,
attr_names : set_of.Name) {...}
This virtual function results in Bool:True iff,
for every one of the attribute names specified by its attr_names argument,
its topic argument has an attribute with that name; otherwise it results in Bool:False.
As a trivial case,
this function's result is Bool:True if attr_names is empty.
function attr_names (set_of.Name <-- topic@ : Attributive) {...}
This virtual function results in the set of the names of the attributes of its argument.
function rename (Attributive <-- topic@ : Attributive,
map : AttrRenameMap) {...}
TODO: This description; meanwhile,
see the implementers' descriptions. Note that this operation is also known as {<-}.
function projection (Attributive <-- topic@ : Attributive,
attr_names : set_of.Name) {...}
TODO: This description; meanwhile,
see the implementers' descriptions. Note that this operation is also known as {}.
function cmpl_proj (Attributive <-- topic@ : Attributive,
attr_names : set_of.Name) {...}
TODO: This description; meanwhile,
see the implementers' descriptions. Note that this operation is also known as {!}.
function static_exten (Attributive <-- topic@ : Attributive,
attrs : Tuple) {...}
TODO: This description; meanwhile, see the implementers' descriptions.
function wrap (Attributive <-- topic@ : Attributive,
outer : Name,
inner : set_of.Name) {...}
TODO: This description; meanwhile,
see the implementers' descriptions. Note that this operation is also known as {%<-}.
function cmpl_wrap (Attributive <-- topic@ : Attributive,
outer : Name,
cmpl_inner : set_of.Name) {...}
TODO: This description; meanwhile,
see the implementers' descriptions. Note that this operation is also known as {%<-!}.
function unwrap (Attributive <-- topic@ : Attributive,
inner : set_of.Name,
outer : Name) {...}
TODO: This description; meanwhile,
see the implementers' descriptions. Note that this operation is also known as {<-%}.


updater assign_rename (&topic@ : Attributive,
map : AttrRenameMap) {...}
This virtual update operator is a short-hand for first invoking the sys.std.Core.Attributive.rename function with the same arguments,
and then assigning the result of that function to topic.

updater assign_static_exten (&topic@ : Attributive,
attrs : Tuple) {...}
This virtual update operator is a short-hand for first invoking the sys.std.Core.Attributive.static_exten function with the same arguments,
and then assigning the result of that function to topic.

updater assign_projection (&topic@ : Attributive,
attr_names : set_of.Name) {...}
This virtual update operator is a short-hand for first invoking the sys.std.Core.Attributive.projection function with the same arguments,
and then assigning the result of that function to topic.
updater assign_cmpl_proj (&topic@ : Attributive,
attr_names : set_of.Name) {...}
This virtual update operator is a short-hand for first invoking the sys.std.Core.Attributive.cmpl_proj function with the same arguments,
and then assigning the result of that function to topic.

Go to Muldis::D for the majority of distribution-internal references, and Muldis::D::SeeAlso for the majority of distribution-external references.

Darren Duncan (darren@DarrenDuncan.net)

This file is part of the formal specification of the Muldis D language.
Muldis D is Copyright © 2002-2011, Muldis Data Systems, Inc.
See the LICENSE AND COPYRIGHT of Muldis::D for details.

The TRADEMARK POLICY in Muldis::D applies to this file too.

The ACKNOWLEDGEMENTS in Muldis::D apply to this file too.