We use recent developments on coalgebraic and monad-based semantics to obtain a generic notion of a T-automaton, where T is a monad. This enables a uniform study of various notions of machines: e.g. finite state machines, multi-stack machines, Turing machines, valence automata, and weighted automata. We use the generalized powerset construction to define a generic language semantics for T-automata, and we show by numerous examples that it correctly instantiates for some known classes of machines/languages, including regular, context-free, recursively-enumerable and various subclasses of context free languages (e.g. deterministic and real-time ones). Moreover, our approach provides new generic techniques for studying expressivity power of various machine-based models.where the left-hand map, called the observation map, represents an output function (e.g. an acceptance predicate if B = 2; here and elsewehre we identify 2 with {0, 1}) and the right-hand maps, called a-derivatives, are the next state functions indexed by input actions from A. Finite L-coalgebras are hence precisely classical Moore automata. It is straightforward to extend aderivatives to w-derivatives with w ∈ A * by induction: ∂ ǫ (x) = x; ∂ aw (x) = ∂ a (∂ w (x)) where ǫ ∈ A * is the empty word.The final L-coalgebra νL always exists and is carried by the set of all formal power series B A * . The transition structure on B A * is given byand ∂ a (σ) = λw. σ(aw), (a ∈ A)for every formal power series σ : A * → B. The unique homomorphism from an L-coalgebra X to the final one B A * assigns to every state x 0 ∈ X a formal power series that we regard as the (language) semantics of X with x 0 as an initial state. Specifically, if B = 2 then finite L-coalgebras are deterministic automata and B A * ∼ = P(A * ) is the set of all formal languages over A and the language semantics assigns to every state of a given finite deterministic automaton the language accepted by that state. The transition structure on P(A * ) is given by the predicate o distinguishing languages containing the empty word and by the maps ∂ a assigning to a language their left derivatives: o(L) = ⊤ ⇐⇒ ǫ ∈ L and ∂ a (L) = {w | aw ∈ L} (a ∈ A).