 Erlang is a functional language.Mnesia builds on this to obtain ACID transaction support.The functional block which is run as a transaction is a commonplace Erlang construct called a "Functional Object" (or "Fun") and is called by the single Mnesia statement codice_1.