Monad/dyad defined

>> << Ndx Usr Pri Phr Dic Rel Voc !: wd Help Primer

# Monad and dyad definition

As discussed in the earlier section on ambivalence, all verbs had two definitions, a monad and a dyad. You have defined only a monad for centigrade. What about the dyad?

       23 centigrade 32
    ¦domain error
    ¦   23     centigrade 32

Since you didn't provide a dyad definition, it is empty and this is treated as if the dyad had no arguments in its domain, and any arguments you give will cause a domain error.

Let's examine some simple examples of defining dyadic, monadic, and both cases.

       monadminus =. 3 : 0
    - y.
    )

       monadminus 5
    _5

       5 monadminus 3
    ¦domain error
    ¦   5     monadminus 3

The above defines the monad of the verb named monadminus. Applying it monadically works and applying it dyadically fails.

In one-line definitions like this you can take a shortcut and make the definition on a single line and avoid entering the special input mode that needs to be ended with the `)`. The following is an equivalent way of doing the above definition:

`monadminus =. 3 : '- y.'`

The string contains the single line that makes up the definition. It is provided directly as the right argument of `:` instead of the 0 used earlier.

So far you have defined just the monadic case of a verb. You can also define a verb with just a dyadic definition. Instead of 3 as the left argument to `:` use a 4 to define the dyadic case.

       dyadminus =. 4 : 'x. - y.'
       5 dyadminus 3
    2

       dyadminus 5
    ¦domain error
    ¦       dyadminus 5

In the monad case the `y.` name is the right argument and in the dyad case x. is the left argument and `y.` is the right.

What if you want to define both cases of a verb?

       minus =. 3 : 0
    - y.
    :
    x. - y.
    )

The `:` by itself on a line separates the monad and dyad definitions.

       3 minus 5
    _2

       5 minus 3
    2

       minus 5
    _5

>> << Ndx Usr Pri Phr Dic Rel Voc !: wd Help Primer