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."


Reply via email to