[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[4]: format ~/function/



     
>      3. How do I print a float with commifications (if I cannot use ~/f/)? 
>      I can use ~:d to get 1234567 printed as "1,234,567", but there seems 
>      to be no way to print 1234567.89 as "1,234,567.89".
     
This is not foreseen by CLtL2 or ANSI CL. You have to write your own 
function for this. Since you cannot use ~/f/ to call this function, you 
have to transform your format strings into pieces of regular Lisp code. 
The `formatter' macro will help you much in doing this.

     Hmmm... You lost me here. I have a function that will take a stream 
     and a number as an argument (as well as colon-p, arsign-p etc, all the 
     nine yards that would allow me to use it as ~/func/ - needless to say 
     I didn't write it :-). How do I use it with formatter? It would seem 
     from CLtL2 pp 764-765 that I would have to call this function 
     explicitly.
     
     All this makes me reiterate that although I do respect you opinion, it 
     would hardly seem a reasonable approach to leave a *standard* feature 
     of a language out of an implementation on the basis of a personal 
     feeling of disgust. As ~/f/ is in CLtL2 and ANSI CL, it would seem to 
     qualify as a standard feature (How about Borland C++ refusing to 
     implement a ++ operator? :-) Of course, as a European, you might be 
     disgusted even more by the US-centrism of calling an ANSI CL *the* 
     standard, but, as a reasonable person, you will probably admit that an 
     ISO CL, if it ever appears, will be based on the ANSI CL. :-)
     
     As for the manual in HTML, I would rather recommend SGML or whatever 
     they are using in the LDP (Linux Docs Project): you get HTML, GNU 
     info, and LaTeX from the single source file. BTW, You won't need a 
     real manual (just the description of the implementation specific 
     functions like run-program), if you could just claimed that CLISP 
     implements CLtL2/ANSI CL in its entirety. :-)
     
     Thanks.
     S.