[Uim] Some comments for SigScheme

TOKUNAGA Hiroyuki tkng at xem.jp
Mon Aug 8 19:21:46 EEST 2005


Hi,

On Mon, 8 Aug 2005 01:06:26 +0900
Kazuki Ohta <mover at hct.zaq.ne.jp> wrote:

> > Hi kazuki, I'm happy if you consider this comments.
> Of course, I consider:-)

Thank you!

> > * ARGNUM is not intuitive
> >
> > I guess ARGNUM is an abbreviation of 'argument number'. I
> > think it's not intuitive because distinction of ARGNUM_L,
> > ARGNUM_R_NotEval and ARGNUM_R_Eval is not related on the
> > number of arguments. I propose ARG_TYPE or FUNC_TYPE.
> You're right. Now, I'm considering to abolish ARGNUM_R_Eval
> and ARGNUM_R_NotEval, because its name is not so intuitive,
> as you suggest. And I plan to rename ARGNUM to FUNC_TYPE.
> But FUNC_TYPE_R or FUNC_TYPE_L is also not intuitive. Do
> you come up with proper name for these symbols?

Ah, yes. I'd not noticed that.

Unlike Haskell, Scheme is a strict language (is this word right? I'm
not detailed in informatics...), all arguments of a procedure should be
evaluated before calling of the procedure. And since 'function' seems
having same meaning as procedure in Scheme, as a default behavior,
evaluating all arguments would be natural. So I propose replacing
ARGNUM_L with FUNC_TYPE_LIST. (You may prefer FUNC_TYPE_List.)

Following is my idea of new function types, though I'm not thinking 
them so good.

  ARGNUM_L         -> FUNC_TYPE_LIST
  ARGNUM_R_Eval    -> FUNC_TYPE_LIST_ARG_NOT_EVAL
  ARGNUM_R_NotEval -> FUNC_TYPE_LIST_ARG_NOT_EVAL_RETURN_NOT_EVALED

Maybe last one is too long, but it is only used from the expressions
which has tail context, long function type would not be a big problem.
The problem is that is's still not intuitive...


Regards,

-- 
TOKUNAGA Hiroyuki
tkng at xem jp



More information about the uim mailing list