functional if (was Special Char Suggestions?)
Dar Scott
dsc at swcp.com
Fri May 9 10:39:01 EDT 2003
On Friday, May 9, 2003, at 04:56 AM, curry wrote:
> Lately I've been using:
>
> function ? x,a,b
> if x then
> return a
> else
> return b
> end if
> end function
>
> This is really helping in the project I'm working on.
This can be useful, but it is not as powerful as what I would want. I
would want the function to be lazy and not evaluate a or b unless
needed. I think the above function would evaluate both. I would
normally not have side-effects a or b expressions, so that is not a
problem, but I would rather not waste the time.
Because of this, this should be a built-in part of the language.
I tend to use a functional style and because of that many--if not
most--of my function definitions tend to be one command, the return.
Sometimes that line is continued over several lines. This is not
always the most readable in transcript; transcript is somewhat
imperative. (The "put" command reminds us of the implied "you" in
English.) To make my code more readable I sometimes break out
subexpressions and name them with "put" commands, perhaps hurting
performance. If my return "wants" to have an "if", then I break that
out into preceding code.
I haven't made up my mind on the proposed name. Since function with
that name will break when/if ?: is added, that may be a reasonable name.
Dar Scott
More information about the use-livecode
mailing list