# Parallel machine

### From HaskellWiki

There are two reasonable ways to define an applicative functor instance for lists. Both of them simulate kinds of parallel computers:

- The plain instance simulates a non-deterministic computer. This instance can also be generalized to monads.
- The applicative functor instance of the ZipList wrapper simulates a SIMD (single-instruction multiple-data) computer.