Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#8 Syntax of high level Call() function

closed
4
2004-11-18
2004-10-21
Francesco Garosi
No

The current syntax of Call() is: Call(funcname, args),
where funcname is a string (the CLIPS function or
operator) and args is also a strings containing the
arguments separated by whitespace using the CLIPS
syntax. In this way, actually, the Call() function is
almost useless as it corresponds to Eval("(%s %s)" %
(funcname, args)).

Without disallowing current syntax, it can be useful to
allow the second argument of Call() to be either the
string, with current meaning, or a sequence containing
the argument values - possibly cast to CLIPS objects
(using wrapper classes). This could make the code more
readable when it is necessary to pass Strings or
Multifields to CLIPS functions.

Discussion

  • Logged In: YES
    user_id=328337

    Latest CVS implements the possibility to use either the old
    syntax or a single argument of a CLIPS understandable basic
    type or a sequence (as single argument) containing the CLIPS
    function arguments.

     
  • Logged In: YES
    user_id=328337

    The Instance.Send() function suffered of the same syndrome.
    Now the arguments to Instance.Send(), that is, the last
    parameter, can be of the same form as Call(). This has been
    implemented in current CVS and will be present in next file
    release (1.0_06).

    As for Call(), the old syntax is still correct (and will never be
    deprecated).

     
    • status: open --> closed