Returns the string representations of all of the data "variables" used by functions created from this Semantics object.
Returns the string representations of all of the data "variables" used by functions created from this Semantics object.
Create a function from A to B.
Create a function from A to B.
The return type of the function.
specification for a function to be produced by this semantics.
a default value in the case that the function would produce an optional type.
Attempt to morph this MorphableSemantics into a new one with the same structure.
Attempt to morph this MorphableSemantics into a new one with the same structure.
The new MorphableSemantics will have the same structure (as dictated by the M
type parameter) but with a different second parameter. This new instance must also be
a Semantics[B]
. It can be the case that a specific implementation of MorphableSemantics
doesn't allow for all B
, in which case a None
can be returned.
input type for the new MorphableSemantics instance that might be created.
A MorphableSemantics instance may choose not allow morphing to all B
.
In that case, a None
will be returned.
reflection information that may be necessary to determine whether to create the MorphableSemantics that was requested.
a com.eharmony.aloha.reflect.RefInfo for input type A.
A version of Semantics that can morph into other instances of the same structure but with a different type parameter.
An example:
Notice for class
X
, that theM
type constructor isX
and theA
is the same for the second type parameter of MorphableSemantics as for the type parameter in Semantics.This can be use like the following:
or use it generically:
a type constructor providing the structure of the Semantics. This will most likely always be the concrete subclass of Semantics that implements MorphableSemantics.
the type parameter to which
M
is applied for this instance of Semantics, also the type parameter for the Semantics.