|Subject:||comments and questions by a user of VXML|
|From:||Dennis de Champeaux (dd...@cutter.rexx.com)|
|Date:||Aug 16, 2004 8:02:36 am|
I used VXML to provide access by phone to: www.HealthCheck4Me.info The functionality is now available and even a Dutch version may work. VXML was however very painful. Along the way I recorder gripes, questions and comments. They range from the microscopic to the philosophical, see below.
I am OK. You are OK? If in doubt: www.HealthCheck4Me.info
- Why is it necessary to put a block inside a form? This looks bizarre: <vxml><form><block> I only want to tell you I love you. </block></form></vxml>
- Why is it not possible to use say-as inside a block? I.e. why does one has to wrap a prompt around a sentence containing a say-as as in: <form><block><prompt> I owe you <say-as type=number> 100 </say-as> dollar. </prompt></block></form>
- Given the need to use a form to do simple things (see above) why is only one form executed in: <vxml> <form><block> I only want to tell you I love you. </block></form> <form><block> I only want to tell you I still love you. </block></form> </vxml>
- What is the purpose of block? paragraph? sentence?
- Why do we have to write "&&" if we mean "and"?
- Why do we have to write "||" if we mean "or"?
- Why do we have to write the boolean expression: <if cond="inLove == true"> if we simply mean: <if inLove>
- Is it possible to write the equivalence of say: !a or (b and !c) ??
[ The description of VXML by Hocek & Cuddihy is so bad that they must be banned to the information author's gulag where forever they must repair the holes in punch cards. ]
- TCL was the most ugly languge of the 90-ies. VXML has now taken over. The language appears not to have iteration (while, for) and no recursion. But it DOES have the goto primitive, which was banned by Dijkstra 30 years ago. There is no function abstraction and neither object-oriented constructs.
- Woods created in the early 70-ies ATNs for NL processing. He separated the lexicon (in which the entries have syntactic and semantic mark ups) from the parser that embodies acceptable syntax constructs and which can create a "deep" semantic output. VXML's grammar construct appears to scratch only the surface of his ATNs (and is ill documented - if documented at all).
- I don't see the beginnings of capturing dialog pragmatics.
- The VXML syntax borrows from XML, which borrows from HTML, which borrows from ... This syntax is OK as a mark up notation for text. But for a programming language .... nah. Just consider the availability of a perfect alternative, which has been around since the late fifties: LISP. Instead of: <vxml> ... </vxml> one simply writes: (vxml ... ) Moreover LISP is an interpreted language with fantastic semantics. For example it has functions with arbitrary number of arguments. This allows for example to write: (prompt I owe you (say-as (type number) 100) dollar.) [instead of: <prompt> I owe you <say-as type=number> 100 </say-as> dollar. </prompt> ] It would even allow immediate use of Woods's ATNs ... Hence we actually need a LISP ONLY version of VXML!