The profile of the Image attribute is: X'Image where X is an object of any type (or value of most types). And the old, unnecessary form was: S'Image(X) where S and X are of any type. If one tries to add parameters to this, one gives up this nice form for a mis-mash of profiles for various classes of types. Moreover, the result no longer composes in the obvious way (necessary to have Image for records and arrays). Additionally, one ends up with a magic mechanism that only the compiler can use. That *never* is a good idea. Especially as there now is a way to allow Image to support user-defined types. It would seem necessary to also support user-defined formatting parameters (else one has magic only applicable to a handful of language defined types). Attributes do not allow named parameters outside a few special cases, and *never* allow reordering of parameters. Does that need to change, too? Float input/output in particular is very large, especially when all of the formatting options are included. Do you really want to drag that into *every* Ada program, whether it uses it or not?? 'Image is convinient for integer and enumeration output, and one can format them in the rare case where that is necessary. But it is useless for float output -- manual reformatting the output of 'Image would round the results incorrectly. Ada has few built-in facilities because it's primary purpose is to support the development of proper ADTs. Ease of writing is not a goal at all, and in most cases, the extra text is valuable to compilers and tools (even if it is not so valuable to human readers). If it was up to me, I would eliminate most of the shortcuts from Ada and require everything to be written out. (IDEs could/should do most of that for you anyway, so the extra text is not adding much effort.) Ergo, I hope this idea is dead-on-arrival. I certainly won't be involved in it, that's for sure. Randy. "moi" wrote in message news:kkca55F9sn7U1@mid.individual.net... > On 19/08/2023 10:14, J-P. Rosen wrote: >> Le 18/08/2023 à 10:25, Luke A. Guest a écrit : >>> On 18/08/2023 08:18, Rod Kay wrote: >>>> Hello.all, >>>> There has been some recent discussion on #ada irc regarding formatted >>>> output. >>>> >>>> Would it be possible/desirable to allow the 'Image attribute to have >>>> formatting parameters ? Something along the lines of ... >>>> >>>> put_Line (some_Integer'Image (Width => 5, Padding => '0')); >>>> >>>> ... and similar 'Image attribute parameters for other types. >>>> >>>> If the parameters have defaults, then there should not be any backwards >>>> compatibility issues (I think). >>> >>> I wanted them for ages, but there was a conversation ages ago where >>> someone on here said attributes were for "debugging only," yet that's >>> not what the arm says. >>> >> The intent of the 'Image attribute is to have a quick representation, >> mainly for debugging purposes. If you want nice formatted output, use the >> Put procedure on String from Text_IO. >> > > My code uses 'Image heavily, because it is usually the neatest and the > clearest way to format many strings that mingle words and numbers. > > I sometimes have to pass the result of 'Image to a function that > implements the kind of functionality people are asking for, > and it would be even neater and clearer if I could get that with > parameters to 'Image itself. > > None of that output has anything to do with debugging. > > -- > Bill F. >