Personal tools
You are here: Home development HansDataTypeDefinitions
Views

Edit history

Edit: -1 of 1
Time: 2009-08-13 14:52:48
Note: /pd/pd/dev/HansDataTypeDefinitions/reparent

changed:
-
Here are my attempts at defining Pd's data types.  I do not attempt to define "bang" or "pointer" since I think the current definitions are clear enough.


Basic Data Types

 These are the basic data types of Pd.  Each one has a distinct behavior and therefore should be classified as a distinct type so that people can clearly talk about what's happening in a Pd program.

atom -- the most basic unit of data in a message.  They are usually delineated by white space.

numeric atom -- any element which is a functional representation of a number.  In Pd, a numeric atom is the same as a float, they can be used interchangeably.

symbolic atom -- any atom which is not a functional representation of a number, usually in the form of words

pointer atom -- a position pointer to a 'struct'

signal --  numeric data processed at the audio rate

gemlist -- numeric data processed at the message rate used between Gem objects.

pdp packet -- numeric data processed at the message rate used between PDP objects.

gridflow grid -- a matrix of data


Messages

 Messages are any series of atoms passed to an object. Every message has a "selector" followed by any number of arguments.  

selector --  The selector is a symbolic atom, which is a non-numeric string with no white space, semicolons, or commas. In the case of messages whose first element is a numeric atom, the selector is implied.

 
Data Structures

 These structures are made up from the basic data types.  They can be broken down into elements of the above types.

bang -- a bang is any message that has a selector "bang".

float -- a float is a two atom series where the first atom is the "float" selector and the second atom is a numeric atom.  Can be used interchangeably with messages that are just a numeric atom.

symbol -- a symbol is a two atom series where the first element is the "symbol" selector and the second element is a symbolic atom.  Any series with a selector of "symbol" with more than two atom is automatically converted to a symbol by truncating all other atom except the "symbol" selector and the second atom.

comma -- a comma has a special meaning in Pd, therefore its also an atom

semi-colon -- a semi-colon has a special meaning in Pd, therefore its also an atom

dollar -- don't know how to define this

dollarg -- don't know how to define this
 
list --  a series of 2 or more atoms whose first atom is either the selector "list", or a numeric atom, which causes the "list" selector to be implied.  A 0-atom list is a bang, a 1-atoms list is either a float or a symbol.  Are there any exceptions where a 0- or 1-element lists actually exists?  I suppose only in a message box.

selector series -- a series of 2 or more elements whose first atom is neither the selector "list" nor a numeric atom.

array -- an array is a series of numeric atoms with a graphical representation

struct -- an


Powered by IEM Powered by Plone Section 508 WCAG Valid XHTML Valid CSS Usable in any browser