 
  
  
  
  
 
There are many areas in which the Glish language or system may evolve in the future. We list here the likely changes (or, in some cases, changes at least being considered), some of which will not be backward-compatible:
    whenever a->b(numeric c, string d) do
        ...
would respond to any b event generated by agent a by
first checking whether its value had a numeric ``c" field and
a string ``d" field, and if so then assigning those
fields to local variables ``c" and ``d".
Similarly, in a Glish client, something along the lines of:
    client->Register( "b", "numeric c, string d",
                      my_func );
which would register the client as responding to the same sort
of b event by calling my_func with arguments ``c"
and ``d".
 ).
).
 ),
which is somewhat inefficient and clumsy to use.
),
which is somewhat inefficient and clumsy to use.
 :" and perhaps ``++".
 :" and perhaps ``++".
 )
never insert a semi-colon if there is a pending close-parenthesis (i.e.,
more open-parentheses have been seen than close-parentheses).
)
never insert a semi-colon if there is a pending close-parenthesis (i.e.,
more open-parentheses have been seen than close-parentheses).
 ).
).
 ) when invoked with string
operands.
) when invoked with string
operands.
r["x y z"] := [0, 0, 10]would assign r.x to 0, r.y to 0, and r.z to 10.
a, b, c := dwould assign the first field (or element) of d to a, the second field to b, and the remainder to c.
 ).  The former do
not support named arguments or variable argument lists.  This restriction
should be removed, as it will make it much easier to add more
built-in functions.
).  The former do
not support named arguments or variable argument lists.  This restriction
should be removed, as it will make it much easier to add more
built-in functions.
 ) requires that the script
anticipate that a client may wish to join.
) requires that the script
anticipate that a client may wish to join.
|| operators should
complain if one of their operands is not a scalar, instead of just
using the first element of the operand.  The same holds for values
tested in conditionals.
 
  
  
  
 