[alicebot-archcomm] Predefine predicates/properties

Jonathan Roewen alicebot-archcomm@list.alicebot.org
Sat, 2 Aug 2003 08:40:40 +1200


> Same procedure as every year, Jon: AIML-meta language as cure-all!
> It has been said enough about that.

It's not a cure all, it's an aid. It's like using a high-level programming
language instead of assembler. It gives you support for writing tricky stuff
simpler, and provides some protection from shooting yourself in the foot.
You don't need it, but sometimes it would be nice to have.

> Concerning variable scope please see
> http://cafe.bevocal.com/docs/tutorial/variables.html#270634
> or
> http://www.w3.org/TR/voicexml20/#dml5.1
> on how this is managed in VoiceXML i.e..

I've read, and it doesn't sway me one bit. Local scope is largely
irrelevant. If you want a temporary variable to last a scope, just call it
"temp", or "temp1", "temp2", and reuse it all the time .. a category itself
has no lifetime, there is little to do with hierachies as there apparently
is in VXML .. they're two different styles of applications.

The only reason you'd want local variables in AIML is if you're paranoid
about security, in which case, just erase it when you're done with it.

> And: I recommend asking in comp.lang.c++ :
>
> "Proposed change to the C++ compiler: We should ommit strict type
> definitions, all variables are in global scope and we don't need syntax
> checking."

Again, you aren't comparing apples with apples. That is plain stupid simply
because there are well defined scopes and hierachies, and well-defined
lifetimes of objects. This is not present in AIML.

> So if you challenge consistent system design, than stick with your LEGO
> bricks and continue playing with VisualBasic.

You'd be surprised what you can do with either LEGO or VB...

Jon