[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: n-ary functions rfc

I should point out that the implementation in SchemeXerox of this idea for
handling n-ary functions differs from that old proposal in a few cosmetic

+ The marker in the lambda-list is the string "others", not the string
  "arbitrary".  Clearly, this won't satisfy those who dislike strings in the
  lambda-list at all, but we thought the name was more appropriate.

+ The two identifiers after the marker are in the opposite order, with the
  first getting bound to the function from indices to values and the second
  getting bound to the number of excess arguments.

+ The name of the APPLY-like function is FAPPLY, not APPLYF, and the last two
  arguments are, as in the lambda-list, in the opposite order from that shown
  in the proposal.

We still don't like the name FAPPLY, but haven't come up with anything better.

We remember the proper order for the "others" parameters (and final FAPPLY
arguments) by analogy with the other indexing operations in Scheme (e.g.,
LIST-REF, STRING-REF, etc.): the aggregate value first followed by the index.

Other than these minor tweaks, we're still pretty happy with the idea; it still
seems quite clean, much easier to use in general than rest-lists, and much
easier to optimize.