Filaments is a library package that can be used to create architecture-independent parallel programs, i.e. programs that are portable and efficient across vastly different parallel machines. Programs can be written with the focus on the parallelism inherent in the application, not the architecture. Also, programs can be written that use familiar shared-variable communication.