A synchronous state machine is a machine whose transition between states occurs on the triggering edge of a clock signal. There are two types of synchronous finite state machines: Moore and Mealy machines. A Moore machine's output is solely dependent on its current state, while a Mealy machine's output depends on both its current state and current inputs. Moore machines are generally faster and easier to compose than Mealy machines. Mealy machines can have a lower response time but require more clock cycles to change state and are more expensive to produce when the number of possible states grows large. Both Moore and Mealy state machines are important concepts in digital design that can be used to model algorithms or processes simply or complexly.