Maxima parser and global parameters



On Tue, 2008-01-15 at 16:24 -0500, Stavros Macrakis wrote:
> I wonder if it might be useful to define (e.g.) 1.234x23 ('x' for
> exact) to mean precisely the rational number 1234*10^(23-3).

I think that would be very useful. Another example of its potential use
is:

(%i1) solve(1.2343*x=2);
`rat' replaced 1.2343 by 5916/4793 = 1.23430002086376
(%o1) [x = 4793/2958]

as you know, from time to time some new user of Maxima appears in this
list asking us why 1.2343 was not replaced by 12343/10000 and why they
didn't get the "right" answer [x = 20000/12343]

It would be very nice if we could tell them to use:
  solve(1.2343x0*x=2)
or even just 1.2343x as a short notation for 12343/10000

The problem I see is the proposed notation. Very often users forget to
write the * operator; if the wrote 1.2343x5 meaning 1.2343*x*5 they
would no longer get the current error message but would get surprising
results.

Regards,
Jaime