Hi Stef, I am still thinking about this point, but I do not have an intelligent answer yet. I just wanted to say that I did not forget it :).
Cheers, Doru > On Feb 26, 2017, at 11:16 PM, stepharong <[email protected]> wrote: > > I hate my mail client.... > Apparently I wrote email to explain what I finally understood and it never > sent it nor archive it :( > So I will try to summarize it and take some time tomorrow to reexplain it. > > Now I understand why I got confused > > printit is currently a function from > objects -> literals (this handles the self-evaluating objects) + (and > this is unfortunate non literals such as string objects by opposition to > literal strings) > > It means that there ares case where we can have > object -> a string object (and not a literal) in that case we use the > string object as a mediocre "reference" to the object. > > > If we would have > printgraphics > we would have objects -> graphics and unknow objects would be > represented by a little blue square and clicking on it would bring > and object representation (inspectors or whatever) > > Now how to we improve the situation. I have the impression that it would be > good to have instead of printOn: which is used to do too many things. > > - first printOn: should not be used for list/combo or any widgets (this will > avoid some friends I know to get interfaces with ' inside their comboxchoice) > but to use displayString > > - second I would introduce > asLiteralOn: > which garantee that you cannot escape > > this way printIt will only prints strings as literal strings and the > contract is clear. > > objects -> literals (this handles the self-evaluating objects) > > 1 > >>> 1 > > false > >>> > false > > but > (Directory name: 'comics') > >>> 'comics' > > { 1 . Browser new} > >>> 'anArray with (1, a Browser') > > now we can ask ourselves if > > { (Directory name: 'comics') } > >>> > { 'comics' } I do not like it > or > >>> 'anArray with ( comics ) > > > back to my confusion: > > I was confused about the fact that I was hijacking the textual representation > 'comics' is not a directory but a string > now may be I should have return a storeOn: representation > or 'aDirectory (comics)' > > and introduce displayString > 'comics' > > Probably that printOn: should not be used the way I did it. > but I do not know. > > I think that this is a subtle domain and we should provide better guidelines. > > Do you understand my points? > What do you think? > > Stef -- www.tudorgirba.com www.feenk.com "Presenting is storytelling."
