El jue., 4 oct. 2018 a las 4:53, Trey Harris (<t...@lopsa.org>) escribió:

>
> On Wed, Oct 3, 2018 at 22:21 ToddAndMargo <toddandma...@zoho.com> wrote:
>
>> >> On 04/10/2018 03:07, ToddAndMargo wrote:
>> >>> Hi All,
>> >>>
>> >>> In another thread, Timo wrote me:
>> >>>
>> >>>         The "-->" part of the signature is optional. If there isn't
>> >>>         one, it defaults to Mu, which is the type that everything
>> >>>         conforms to, i.e. the sub or method that either has "--> Mu"
>> >>>         explicitly, or has it by leaving it out, may return
>> >>>         absolutely whatever it wants.
>> >>>
>> >>>         After all, the "-->" part is a constraint, and it gets
>> >>>         validated at compile time every time a sub or method
>> >>>         returns.
>> >>>
>> >>> I got to thinking, some routines do not return anything.  Without
>> >>> the "-->" constraint, how am I to determine if something is
>> >>> being returned?
>> >>>
>> >>> Yours in confusion,
>> >>> -T
>>
>> On 10/3/18 6:44 PM, Timo Paulssen wrote:
>> > I just spotted a grave mistake in my earlier mail:
>> >
>> > the --> constraints are validated at *run* time, not *compile* time;
>> > that's a very big difference, and an important one. Of course "every
>> > time a sub or method returns" doesn't make much sense if i had meant
>> > "compile time", but I felt i should really point it out before causing
>> > too much confusion.
>> >
>>
>> Hi Timo,
>>
>> Thank you for the help over on the chat line with IN!
>>
>> My confusion is not that it returns something (Mu).
>>
>> My confusion is "what" it returns.
>
>
> I'm not clear on what you mean. When "--> XXX" is given, then an XXX is
> returned. When no "-->" is given, it technically returns Mu but you can
> pretend it is like a Pascal/Module "procedure" that does not return
> anything.
>

Or anything that is a subclass of Mu. That is, anything.

JJ

Reply via email to