[UI] Compiler messages

tim Rowledge tim at rowledge.org
Sun Nov 11 20:44:48 UTC 2007


On 11-Nov-07, at 12:10 PM, Colin Putney wrote:
>>
>
> I don't have any advice about that, but I would like to suggest  
> this: please, please don't continue the tradition of having the  
> parser interact with the user directly by opening menus and what  
> not. This is a horrifying design that has given me much grief with  
> OmniBrowser.

I'd say this is one of those places where exceptions have a clear and  
valuable role.

When there is an unknown variable, instead of using something like
varname isUnknown ifTrue:[(PopUpMenu query:'is this a temp or cancel  
compile') ifTrue:[self addTempNamed: varname] ifFalse:[^self buggered]]

try something a bit more like
varname isUnknown ifTrue:[CompilerUnknownVariableName informWith:  
varname forCompiler: self]

Then the interactive user of the compiler can handle the exception via  
a menu or a nice dialogue or even an acually *nice* UI, and the non- 
interactive user can handle it silently. A lint-like user could let  
the compile proceed whilst logging the infraction, for example. Or  
preferably by applying a significant voltage to the shiny stainless  
steel mouse buttons....

tim
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
USER ERROR: replace user and press any key to continue.




More information about the UI mailing list