Randy MacDonald <[EMAIL PROTECTED]> wrote:
> Yet
>
>    2: (0 0$0)
>
> does not give a domain error.  There is a fine line between consistency 
> and dogma.

There is a very fundamental distinction:

The PRIMARY PURPOSE of many foreigns is to perform a system-dependent
function (which has no arguments). Should such functions later be
extended by adding arguments to the language, it is easy to make the
foreigns backwards-compatible with the new behavior by, say, taking a
list whose trailing items default to backwards-compatible values.
However, if the behavior is currently defined to explicitly ignore
arguments, such extension are no longer possible (or must be added
in awkwardly, via a!:b!.c which is not only awkward, but doesn't
permit the argument to be passed tacitly.)

On the other hand, the PRIMARY function of verbs like 2: is to
EXPLICITLY ignore their parameters and produce constant values.
As such, ignoring the parameter is not merely a convenient
side-effect, but an essential, fundamental property of such verbs.

-- Mark D. Niemiec <[EMAIL PROTECTED]>

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to