[Pipet Users] Command Compilation in Piper: A Discourse

Nicolas Chauvat Nicolas.Chauvat at logilab.fr
Tue Feb 13 10:17:59 EST 2001


> OK, there's two things here: internally, there's an abstract "Node"
> class, for which each new Node derives (as you see in the screenshot,
> "Constant", "Add" and "ExecStream" all derive from Node). Hovever,
> there's no need to discriminate between things that perform have the
> same function. A string is a string... regardless of whether you use
> it as a flag or a filename. If you look at C, for example, a (char *)
> or an int can be use for whatever you like.

What I was trying to point out was the exact thing you use as an example
against my rationale :-) C manipulates memory addresses, but let you refer
to those addresses as int, float, double, char *, etc. so that at compile
time it can complain when you do (int = float) and warns you that it's an
implied cast.

Flags and filenames may be strings in a shell, but represent different
things, the same way memory contains only bytes that represent ints and
floats.

We may choose not to care about the difference between flag and
filename strings in Piper. What I was saying is that this will eventually
prevent us to do things like adding a "help" button to inputs that
would open a file browser when a filename is needed or a drop-down
list of possible options when a flag is needed, or check that the
filename you gave is an actual file, etc.

-- 
Nicolas Chauvat

http://www.logilab.com - "Mais où est donc Ornicar ?" - LOGILAB, Paris (France)





More information about the Pipet-Users mailing list