[Pipet Users] Command Compilation in Piper: A Discourse

J.W. Bizzaro jeff at bioinformatics.org
Tue Feb 13 15:33:52 EST 2001


Jean-Marc Valin wrote:
> 
> Defining a new type always requires come code. In Overflow the
> implemented types are: Int, Float, Double, String, Bool, Vector<T>,
> Stream, ...
> 
> If we start adding types for flags, filenames, ... then it becomes
> endless. We'd need to divide "Vector" in "3D vector", "2D vector",
> "AudioFrame", "FIRFilter", "IIRFilter", .... and the same for all types.
> As for any language, the semantics can be taken into account with the
> variable name (or in this case, the input name).

I agree with you that we need to have a very small number of *STANDARD* node
types.  For example, in most programming languages you will have types
INTEGER, REAL, CHAR, STRING, etc., just a few.  *BUT* (and that's a big but)
you can create new types using "old" types.

Take Pascal for example.  You can define...

TYPE
    MYNUMBER : INTEGER;
    MYARRAY : ARRAR[0..100] OF TYPE MYNUMBER;

(or whatever -- I can't remember my Pascal at the moment ;-))

But, I have created my own type! :-)

I'm not saying that Overflow/Piper should have types "flag" and "filename"
as standard types, but that they can be created using existing types and
then packaged (compiled) into a subnet.  The subnet can then be called
"flag" or "filename".  Make sense? :-)

This is the same concept as defining new methods, procedures, functions,
objects, whatever.  I should be doable in Piper.

Cheers.
Jeff




More information about the Pipet-Users mailing list