Monad
from
WordNet (r) 3.0 (2006)
monad
n 1: (chemistry) an atom having a valence of one
2: a singular metaphysical entity from which material properties
are said to derive [syn: {monad}, {monas}]
3: (biology) a single-celled microorganism (especially a
flagellate protozoan)
from
The Collaborative International Dictionary of English v.0.48
Monad \Mon"ad\, n. [L. monas, -adis, a unit, Gr. ?, ?, fr.
mo`nos alone.]
1. An ultimate atom, or simple, unextended point; something
ultimate and indivisible.
[1913 Webster]
2. (Philos. of Leibnitz) The elementary and indestructible
units which were conceived of as endowed with the power to
produce all the changes they undergo, and thus determine
all physical and spiritual phenomena.
[1913 Webster]
3. (Zool.) One of the smallest flagellate Infusoria; esp.,
the species of the genus {Monas}, and allied genera.
[1913 Webster]
4. (Biol.) A simple, minute organism; a primary cell, germ,
or plastid.
[1913 Webster]
5. (Chem.) An atom or radical whose valence is one, or which
can combine with, be replaced by, or exchanged for, one
atom of hydrogen.
[1913 Webster]
{Monad deme} (Biol.), in tectology, a unit of the first order
of individuality.
[1913 Webster]
from
The Devil's Dictionary (1881-1906)
MONAD, n. The ultimate, indivisible unit of matter. (See
{MOLECULE}.) According to Leibnitz, as nearly as he seems willing to
be understood, the monad has body without bulk, and mind without
manifestation -- Leibnitz knows him by the innate power of
considering. He has founded upon him a theory of the universe, which
the creature bears without resentment, for the monad is a gentlmean.
Small as he is, the monad contains all the powers and possibilities
needful to his evolution into a German philosopher of the first class
-- altogether a very capable little fellow. He is not to be
confounded with the microbe, or bacillus; by its inability to discern
him, a good microscope shows him to be of an entirely distinct
species.
from
The Free On-line Dictionary of Computing (8 July 2008)
monad
<theory, functional programming> /mo'nad/ A technique from
{category theory} which has been adopted as a way of dealing
with {state} in {functional programming languages} in such a
way that the details of the state are hidden or abstracted out
of code that merely passes it on unchanged.
A monad has three components: a means of augmenting an
existing type, a means of creating a default value of this new
type from a value of the original type, and a replacement for
the basic application operator for the old type that works
with the new type.
The alternative to passing state via a monad is to add an
extra argument and return value to many functions which have
no interest in that state. Monads can encapsulate state, side
effects, exception handling, global data, etc. in a purely
lazily functional way.
A monad can be expressed as the triple, (M, unitM, bindM)
where M is a function on types and (using {Haskell} notation):
unitM :: a -> M a
bindM :: M a -> (a -> M b) -> M b
I.e. unitM converts an ordinary value of type a in to monadic
form and bindM applies a function to a monadic value after
de-monadising it. E.g. a state transformer monad:
type S a = State -> (a, State)
unitS a = \ s0 -> (a, s0)
m `bindS` k = \ s0 -> let (a,s1) = m s0
in k a s1
Here unitS adds some initial state to an ordinary value and
bindS applies function k to a value m. (`fun` is Haskell
notation for using a function as an {infix} operator). Both m
and k take a state as input and return a new state as part of
their output. The construction
m `bindS` k
composes these two state transformers into one while also
passing the value of m to k.
Monads are a powerful tool in {functional programming}. If a
program is written using a monad to pass around a variable
(like the state in the example above) then it is easy to
change what is passed around simply by changing the monad.
Only the parts of the program which deal directly with the
quantity concerned need be altered, parts which merely pass it
on unchanged will stay the same.
In functional programming, unitM is often called initM or
returnM and bindM is called thenM. A third function, mapM is
frequently defined in terms of then and return. This applies
a given function to a list of monadic values, threading some
variable (e.g. state) through the applications:
mapM :: (a -> M b) -> [a] -> M [b]
mapM f [] = returnM []
mapM f (x:xs) = f x `thenM` ( \ x2 ->
mapM f xs `thenM` ( \ xs2 ->
returnM (x2 : xs2) ))
(2000-03-09)
from
Moby Thesaurus II by Grady Ward, 1.0
63 Moby Thesaurus words for "monad":
I, ace, air, an existence, atom, atomic particles, being, body,
brute matter, building block, chemical element, component,
constituent, creature, critter, earth, electron, element,
elementary particle, elementary unit, entelechy, entity, fire,
fundamental particle, hyle, hypostasis, individual, ion, life,
material, material world, materiality, matter, meson, molecule,
natural world, nature, no other, none else, nothing else,
nought beside, nuclear particle, object, one, one and only,
organism, person, persona, personality, physical world, plenum,
proton, quark, something, soul, stuff, substance, substratum,
the four elements, thing, unit, unit of being, water
[email protected]