DTD for maxima internal form



Well yes, I deliberately overstated this but.

Stavros Macrakis wrote:

> .....


>
>What a DTD/Schema allows you to do is to specify restrictions on
>structures, so as to disallow -- at read time -- things like
>
>   (mplus x (((x) 1) 3))
>

This is true, but there are lots of things that you would have trouble 
specifying as
illegal, even though they are illegal.

Consider this

((mplus)  ((f ) x)   ((f) x y)).

Why is this illegal?  either f has one argument or two.
Is this always illegal?  Actually no, you COULD define f in some
way to take more than one argument, but maybe you haven't.

It may also be the case that the strange object above... (mplus x ((( 
.......

COULD be used in macsyma, since macsyma can call lisp...

[admittedly arguing for the sake of argument...]

RJF

>
>
>  
>