ParaFlow supports a good variety of numerical types, strings, collections and objects. Here are the built-in types. These are not reserved words, so they can be used for variable names and even class names, though I would advise avoiding classes that shadow these names. double - Double precision (64 bit) floating point. float - Single precision (32 bit) floating point. long - 64 bit integer. int - 32 bit integer. short - 16 bit integer. byte - 8 bit integer that prints out as a character. bit - 1 bit either 0 or 1 in theory. Takes up 8 bits of storage though. string - Text string up to 4 gig long. May contain zeroes. array - Array of something. You can have arrays of arrays. dir - A directory. Associates a string with something else. tree - A binary tree. Associates a string or number with something else. [not implemented] file - A file handle. Of the built-in types only file is truly a class. The others can't be extended into other classes. The numerical types are passed by value, while the other types are reference counted and passed by reference. (The consequence of this is that numerical input to a subroutine is not modified, while other input may be modified.)