Starting with the context of this piece of Synopsis 2:

  These types do (at least) the following roles:

    Class       Roles
    =====       =====
    Str         Stringy
    Bit         Numeric Boolean Integral
    Int         Numeric Integral
    Num         Numeric Real
    Rat         Numeric Real Rational
    FatRat      Numeric Real Rational
    Complex     Numeric
    Bool        Boolean
<snip>

So I'm wondering how the existing and anticipated built-in routines/operators/methods/etc are supposed to stratify between all these layers of roles and composing classes.

Looking at Synopsis 32 seems to provide some answers, although it looks rather outdated in some respects, I think predating the above table.

For example, since you've got the Numeric role, which is composed by integers, including routines that aren't closed over integers such as "log", then what routines are left that are just for Integral or Real or Rational?

Or actually, there is just one main thing I want to know right now ...

You have roles that look like they're supposed to match one specific class each in particular, such as Boolean for Bool, Integral for Int, etc, ostensibly in case users want to declare their own classes like them.

So, would Int actually have any of its own methods, or would they *all* be provided by Integral? Likewise with Bool and Boolean? And so on.

-- Darren Duncan

Reply via email to