This is Christophe Riccio's categorization of all GLSL types; you'll see this in the forthcoming book OpenGL Insights.

vert in varying frag out uniform
scalar
vector
matrix
array
structure
samplers
images
atomic counters
block
Notes