DEEn Dictionary De - En
DeEs De - Es
DePt De - Pt
 Vocabulary trainer

Spec. subjects Grammar Abbreviations Random search Preferences
Search in Sprachauswahl
Search for:
Mini search box
 
English Dictionary: monad by the DICT Development Group
3 results for monad
From WordNet (r) 3.0 (2006) [wn]:
monad
n
  1. (chemistry) an atom having a valence of one
  2. a singular metaphysical entity from which material properties are said to derive
    Synonym(s): monad, monas
  3. (biology) a single-celled microorganism (especially a flagellate protozoan)
From Webster's Revised Unabridged Dictionary (1913) [web1913]:
   Monad \Mon"ad\, n. [L. monas, -adis, a unit, Gr. [?], [?], fr.
      [?] alone.]
      1. An ultimate atom, or simple, unextended point; something
            ultimate and indivisible.
  
      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.
  
      3. (Zo[94]l.) One of the smallest flangellate Infusoria;
            esp., the species of the genus Monas, and allied genera.
  
      4. (Biol.) A simple, minute organism; a primary cell, germ,
            or plastid.
  
      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.
  
      {Monad deme} (Biol.), in tectology, a unit of the first order
            of individuality.

From The Free On-line Dictionary of Computing (15Feb98) [foldoc]:
   monad
  
      /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} notaion):
  
      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)
  
  
No guarantee of accuracy or completeness!
©TU Chemnitz, 2006-2024
Your feedback:
Ad partners