In functional programming, a monad is a structure that combines program fragments (functions) and wraps their return values in a type with additional computation. In addition to defining a wrapping monadic type, monads define two operators: one to wrap a value in the monad type, and another to compose together functions that output values of the monad type (these are known as monadic functions). General-purpose languages use monads to reduce boilerplate code needed for common operations (such as dealing with undefined values or fallible functions, or encapsulating bookkeeping code). Functional languages use monads to turn complicated sequences of functions into succinct pipelines that abstract away control flow, and side-effects.

Both the concept of a monad and the term originally come from category theory, where a monad is defined as a functor with additional structure. Research beginning in the late 1980s and early 1990s established that monads could bring seemingly disparate computer-science problems under a unified, functional model. Category theory also provides a few formal requirements, known as the monad laws, which should be satisfied by any monad and can be used to verify monadic code.

Since monads make semantics explicit for a kind of computation, they can also be used to implement convenient language features. Some languages, such as Haskell, even offer pre-built definitions in their core libraries for the general monad structure and common instances.

Overview
"For a monad m, a value of type m a represents having access to a value of type a within the context of the monad." —C. A. McCann

More exactly, a monad can be used where unrestricted access to a value is inappropriate for reasons specific to the scenario. In the case of the Maybe monad, it is because the value may not exist. In the case of the IO monad, it is because the value may not be known yet, such as when the monad represents user input that will only be provided after a prompt is displayed. In all cases the scenarios in which access makes sense are captured by the bind operation defined for the monad; for the Maybe monad a value is bound only if it exists, and for the IO monad a value is bound only after the previous operations in the sequence have been performed.

A monad can be created by defining a type constructor M and two operations:

 return :: a -> M a (often also called unit), which receives a value of type a and wraps it into a monadic value of type M a, and
 bind :: (M a) -> (a -> M b) -> (M b) (typically represented as >>=), which receives a function f over type a and can transform monadic values M a applying f to the unwrapped value a, returning a monadic value M b.

(An alternative but equivalent construct using the join  function instead of the bind operator can be found in the later section .)

With these elements, the programmer composes a sequence of function calls (a "pipeline") with several bind operators chained together in an expression. Each function call transforms its input plain-type value, and the bind operator handles the returned monadic value, which is fed into the next step in the sequence.

Typically, the bind operator >>= may contain code unique to the monad that performs additional computation steps not available in the function received as a parameter. Between each pair of composed function calls, the bind operator can inject into the monadic value m a some additional information that is not accessible within the function f, and pass it along down the pipeline. It can also exert finer control of the flow of execution, for example by calling the function only under some conditions, or executing the function calls in a particular order.

An example: Maybe

One example of a monad is the Maybe type. Undefined null results are one particular pain point that many procedural languages don't provide specific tools for dealing with, requiring use of the null object pattern or checks to test for invalid values at each operation to handle undefined values. This causes bugs and makes it harder to build robust software that gracefully handles errors. The Maybe type forces the programmer to deal with these potentially undefined results by explicitly defining the two states of a result: Just ⌑result⌑, or Nothing. For example the programmer might be constructing a parser, which is to return an intermediate result, or else signal a condition which the parser has detected, and which programmer must also handle. With just a little extra functional spice on top, this Maybe type transforms into a fully-featured monad.

In most languages, the Maybe monad is also known as an option type, which is just a type that marks whether or not it contains a value. Typically they are expressed as some kind of enumerated type. In this Rust example we will call it Maybe<T> and variants of this type can either be a value of generic type T, or the empty variant: Nothing.

// The <T> represents a generic type "T"
enum Maybe<T> {
    Just(T),
    Nothing,
}

Maybe<T> can also be understood as a "wrapping" type, and this is where its connection to monads comes in. In languages with some form of the Maybe type, there are functions that aid in their use such as composing monadic functions with each other and testing if a Maybe contains a value.

In the following hard-coded example, a Maybe type is used as a result of functions that may fail, in this case the type returns nothing if there is a divide-by-zero.fn divide(x: Decimal, y: Decimal) -> Maybe<Decimal> {
    if y == 0 { return Nothing }
    else { return Just(x / y) }
}
// divide(1.0, 4.0) -> returns Just(0.25)
// divide(3.0, 0.0) -> returns NothingOne such way to test whether or not a Maybe contains a value is to use if statements.let m_x = divide(3.14, 0.0); // see divide function above
// The if statement extracts x from m_x if m_x is the Just variant of Maybe
if let Just(x) = m_x {
    print!("answer: ", x)
} else {
    print!("division failed, divide by zero error...")
}Other languages may have pattern matchinglet result = divide(3.0, 2.0);
match result {
    Just(x) => print!("Answer: ", x),
    Nothing => print!("division failed; we'll get 'em next time."),
}Monads can compose functions that return Maybe together. One concrete example to do this might be to have one function take in Maybes and return a Maybe such as:

fn chainable_division(maybe_x: Maybe<Decimal>, maybe_y: Maybe<Decimal>) -> Maybe<Decimal> {
    match (maybe_x, maybe_y) {
        (Just(x), Just(y)) => { // If both inputs are Just, check for division by zero and divide accordingly
            if y == 0 { return Nothing }
            else { return Just(x / y) }
        },
        _ => return Nothing // Otherwise return Nothing
    }
}
chainable_division(chainable_division(Just(2.0), Just(0.0)), Just(1.0)); // inside chainable_division fails, outside chainable_division returns Nothing

Having to rewrite functions to take Maybes in this concrete example requires a lot of boilerplate (look at all those Just expressions!). Instead, we can use something called a bind operator. (also known as "map", "flatmap", or "shove"). This operation takes a monad and a function that returns a monad and runs the function on the inner value of the passed monad, returning the monad from the function.// Rust example using ".map". maybe_x is passed through 2 functions that return Maybe<Decimal> and Maybe<String> respectively.
// As with normal function composition the inputs and outputs of functions feeding into each other should match wrapped types. (i.e. the add_one function should return a Maybe<Decimal> which then can be unwrapped to a Decimal for the decimal_to_string function)
let maybe_x: Maybe<Decimal> = Just(1.0)
let maybe_result = maybe_x.map(add_one).map(decimal_to_string)In Haskell, there is an operator bind, or (>>=) that allows for this monadic composition in a more elegant form similar to function composition.

halve :: Int -> Maybe Int
halve x
  | even x = Just (x `div` 2)
  | odd x  = Nothing
 -- This code halves x twice. it evaluates to Nothing if x is not a multiple of 4
halve x >>= halve

With >>= available, chainable_division can be expressed much more succinctly with the help of anonymous functions (i.e. lambdas). Notice in the expression below how the two nested lambdas each operate on the wrapped value in the passed Maybe monad using the bind operator.

 chainable_division(mx,my) =   mx >>=  ( λx ->   my >>= (λy -> Just (x / y))   )

What has been shown so far is basically a monad, but to be more concise, the following is a strict list of qualities necessary for a monad as defined by the following section.

Monadic Type
A type (Maybe)
Unit operation
A type converter (Just(x))
Bind operation
A combinator for monadic functions ( >>= or .flatMap())

These are the 3 things necessary to form a monad. Other monads may embody different logical processes, and some may have additional properties, but all of them will have these three similar components.

Definition
The more common definition for a monad in functional programming, used in the above example, is actually based on a Kleisli triple ⟨T, η, μ⟩ rather than category theory's standard definition. The two constructs turn out to be mathematically equivalent, however, so either definition will yield a valid monad. Given any well-defined, basic types , , a monad consists of three parts:
 A type constructor  that builds up a monadic type
 A type converter, often called unit or return, that embeds an object  in the monad:
  A combinator, typically called bind (as in binding a variable) and represented with an infix operator >>= or a method called flatMap, that unwraps a monadic variable, then inserts it into a monadic function/expression, resulting in a new monadic value:

To fully qualify as a monad though, these three parts must also respect a few laws:
  is a left-identity for :
  is also a right-identity for :
  is essentially associative:

Algebraically, this means any monad both gives rise to a category (called the Kleisli category) and a monoid in the category of functors (from values to computations), with monadic composition as a binary operator in the monoid and  as identity in the monad.

Usage
The value of the monad pattern goes beyond merely condensing code and providing a link to mathematical reasoning.
Whatever language or default programming paradigm a developer uses, following the monad pattern brings many of the benefits of purely functional programming.
By reifying a specific kind of computation, a monad not only encapsulates the tedious details of that computational pattern, but it does so in a declarative way, improving the code's clarity.
As monadic values explicitly represent not only computed values, but computed effects, a monadic expression can be replaced with its value in referentially transparent positions, much like pure expressions can be, allowing for many techniques and optimizations based on rewriting.

Typically, programmers will use  to chain monadic functions into a sequence, which has led some to describe monads as "programmable semicolons", a reference to how many imperative languages use semicolons to separate statements.
However, it should be stressed that monads do not actually order computations; even in languages that use them as central features, simpler function composition can arrange steps within a program.
A monad's general utility rather lies in simplifying a program's structure and improving separation of concerns through abstraction.

The monad structure can also be seen as a uniquely mathematical and compile time variation on the decorator pattern.
Some monads can pass along extra data that is inaccessible to functions, and some even exert finer control over execution, for example only calling a function under certain conditions.
Because they let application programmers implement domain logic while offloading boilerplate code onto pre-developed modules, monads can even be considered a tool for aspect-oriented programming.

One other noteworthy use for monads is isolating side-effects, like input/output or mutable state, in otherwise purely functional code.
Even purely functional languages can still implement these "impure" computations without monads, via an intricate mix of function composition and continuation-passing style (CPS) in particular.
With monads though, much of this scaffolding can be abstracted away, essentially by taking each recurring pattern in CPS code and bundling it into a distinct monad.

If a language does not support monads by default, it is still possible to implement the pattern, often without much difficulty.
When translated from category-theory to programming terms, the monad structure is a generic concept and can be defined directly in any language that supports an equivalent feature for bounded polymorphism.
A concept's ability to remain agnostic about operational details while working on underlying types is powerful, but the unique features and stringent behavior of monads set them apart from other concepts.

Applications
Discussions of specific monads will typically focus on solving a narrow implementation problem since a given monad represents a specific computational form.
In some situations though, an application can even meet its high-level goals by using appropriate monads within its core logic.

Here are just a few applications that have monads at the heart of their designs:
 The Parsec parser library uses monads to combine simpler parsing rules into more complex ones, and is particularly useful for smaller domain-specific languages.
 xmonad is a tiling window manager centered on the zipper data structure, which itself can be treated monadically as a specific case of delimited continuations.
 LINQ by Microsoft provides a query language for the .NET Framework that is heavily influenced by functional programming concepts, including core operators for composing queries monadically.
 ZipperFS is a simple, experimental file system that also uses the zipper structure primarily to implement its features.
 The Reactive extensions framework essentially provides a (co)monadic interface to data streams that realizes the observer pattern.

History
The term "monad" in programming actually goes all the way back to the APL and J programming languages, which do tend toward being purely functional. However, in those languages, "monad" is only shorthand for a function taking one parameter (a function with two parameters being a "dyad", and so on).

The mathematician Roger Godement was the first to formulate the concept of a monad (dubbing it a "standard construction") in the late 1950s, though the term "monad" that came to dominate was popularized by category-theorist Saunders Mac Lane. The form defined above using , however, was originally described in 1965 by mathematician Heinrich Kleisli in order to prove that any monad could be characterized as an adjunction between two (covariant) functors.

Starting in the 1980s, a vague notion of the monad pattern began to surface in the computer science community.
According to programming language researcher Philip Wadler, computer scientist John C. Reynolds anticipated several facets of it in the 1970s and early 1980s, when he discussed the value of continuation-passing style, category theory as a rich source for formal semantics, and the type distinction between values and computations.
The research language Opal, which was actively designed up until 1990, also effectively based I/O on a monadic type, but the connection was not realized at the time.

The computer scientist Eugenio Moggi was the first to explicitly link the monad of category theory to functional programming, in a conference paper in 1989, followed by a more refined journal submission in 1991. In earlier work, several computer scientists had advanced using category theory to provide semantics for the lambda calculus. Moggi's key insight was that a real-world program is not just a function from values to other values, but rather a transformation that forms computations on those values. When formalized in category-theoretic terms, this leads to the conclusion that monads are the structure to represent these computations.

Several others popularized and built on this idea, including Philip Wadler and Simon Peyton Jones, both of whom were involved in the specification of Haskell. In particular, Haskell used a problematic "lazy stream" model up through v1.2 to reconcile I/O with lazy evaluation, until switching over to a more flexible monadic interface. The Haskell community would go on to apply monads to many problems in functional programming, and in the 2010s, researchers working with Haskell eventually recognized that monads are applicative functors; and that both monads and arrows are monoids.

At first, programming with monads was largely confined to Haskell and its derivatives, but as functional programming has influenced other paradigms, many languages have incorporated a monad pattern (in spirit if not in name). Formulations now exist in Scheme, Perl, Python, Racket, Clojure, Scala, F#, and have also been considered for a new ML standard.

Analysis
One benefit of the monad pattern is bringing mathematical precision on the composition of computations.
Not only can the monad laws be used to check an instance's validity, but features from related structures (like functors) can be used through subtyping.

Verifying the monad laws
Returning to the Maybe example, its components were declared to make up a monad, but no proof was given that it satisfies the monad laws.

This can be rectified by plugging the specifics of Maybe into one side of the general laws, then algebraically building a chain of equalities to reach the other side:
 Law 1:  eta(a) >>= f(x)  ⇔  (Just a) >>= f(x)  ⇔  f(a)

 Law 2:  ma >>= eta(x)           ⇔  ma

         if ma is (Just a) then
             eta(a)              ⇔ Just a
         else                        or
             Nothing             ⇔ Nothing
         end if

 Law 3:  (ma >>= f(x)) >>= g(y)                       ⇔  ma >>= (f(x) >>= g(y))

         if (ma >>= f(x)) is (Just b) then               if ma is (Just a) then
             g(ma >>= f(x))                                (f(x) >>= g(y)) a
         else                                            else
             Nothing                                         Nothing
         end if                                          end if

                 ⇔  if ma is (Just a) and f(a) is (Just b) then
                        (g ∘ f) a
                    else if ma is (Just a) and f(a) is Nothing then
                        Nothing
                    else
                        Nothing
                    end if

Derivation from functors
Though rarer in computer science, one can use category theory directly, which defines a monad as a functor with two additional natural transformations.
So to begin, a structure requires a higher-order function (or "functional") named map to qualify as a functor:

This is not always a major issue, however, especially when a monad is derived from a pre-existing functor, whereupon the monad inherits  automatically. (For historical reasons, this map is instead called fmap in Haskell.)

A monad's first transformation is actually the same  from the Kleisli triple, but following the hierarchy of structures closely, it turns out  characterizes an applicative functor, an intermediate structure between a monad and a basic functor. In the applicative context,  is sometimes referred to as pure but is still the same function. What does differ in this construction is the law  must satisfy; as  is not defined, the constraint is given in terms of  instead:

The final leap from applicative functor to monad comes with the second transformation, the join function (in category theory this is a natural transformation usually called ), which "flattens" nested applications of the monad:

As the characteristic function,  must also satisfy three variations on the monad laws:

Regardless of whether a developer defines a direct monad or a Kleisli triple, the underlying structure will be the same, and the forms can be derived from each other easily:

Another example: List

The List monad naturally demonstrates how deriving a monad from a simpler functor can come in handy.
In many languages, a list structure comes pre-defined along with some basic features, so a List type constructor and  operator (represented with ++ for infix notation) are assumed as already given here.

Embedding a plain value in a list is also trivial in most languages:
 unit(x)  =  [x]

From here, applying a function iteratively with a list comprehension may seem like an easy choice for  and converting lists to a full monad.
The difficulty with this approach is that  expects monadic functions, which in this case will output lists themselves;
as more functions are applied, layers of nested lists will accumulate, requiring more than a basic comprehension.

However, a procedure to apply any simple function over the whole list, in other words , is straightforward:
 (map φ) xlist  =  [ φ(x1), φ(x2), ..., φ(xn) ]

Now, these two procedures already promote List to an applicative functor.
To fully qualify as a monad, only a correct notion of  to flatten repeated structure is needed, but for lists, that just means unwrapping an outer list to append the inner ones that contain values:
 join(xlistlist)  =  join([xlist1, xlist2, ..., xlistn])
                  =  xlist1 ++ xlist2 ++ ... ++ xlistn

The resulting monad is not only a list, but one that automatically resizes and condenses itself as functions are applied.
 can now also be derived with just a formula, then used to feed List values through a pipeline of monadic functions:

 (xlist >>= f)  =  join ∘ (map f) xlist

One application for this monadic list is representing nondeterministic computation.
List can hold results for all execution paths in an algorithm, then condense itself at each step to "forget" which paths led to which results (a sometimes important distinction from deterministic, exhaustive algorithms).
Another benefit is that checks can be embedded in the monad; specific paths can be pruned transparently at their first point of failure, with no need to rewrite functions in the pipeline.

A second situation where List shines is composing multivalued functions.
For instance, the th complex root of a number should yield  distinct complex numbers, but if another th root is then taken of those results, the final  values should be identical to the output of the th root.
List completely automates this issue away, condensing the results from each step into a flat, mathematically correct list.

Techniques
Monads present opportunities for interesting techniques beyond just organizing program logic. Monads can lay the groundwork for useful syntactic features while their high-level and mathematical nature enable significant abstraction.

Syntactic sugar
Although using  openly often makes sense, many programmers prefer a syntax that mimics imperative statements
(called do-notation in Haskell, perform-notation in OCaml, computation expressions in F#, and for comprehension in Scala). This is only syntactic sugar that disguises a monadic pipeline as a code block; the compiler will then quietly translate these expressions into underlying functional code.

Translating the add function from the Maybe into Haskell can show this feature in action. A non-monadic version of add in Haskell looks like this:
add mx my =
    case mx of
        Nothing -> Nothing
        Just x  -> case my of
                       Nothing -> Nothing
                       Just y  -> Just (x + y)

In monadic Haskell, return is the standard name for , plus lambda expressions must be handled explicitly, but even with these technicalities, the Maybe monad makes for a cleaner definition:
add mx my =
    mx >>= (\x ->
        my >>= (\y ->
            return (x + y)))

With do-notation though, this can be distilled even further into a very intuitive sequence:
add mx my = do
    x <- mx
    y <- my
    return (x + y)

A second example shows how Maybe can be used in an entirely different language: F#.
With computation expressions, a "safe division" function that returns None for an undefined operand or division by zero can be written as:
let readNum () =
  let s = Console.ReadLine()
  let succ,v = Int32.TryParse(s)
  if (succ) then Some(v) else None

let secure_div =
  maybe {
    let! x = readNum()
    let! y = readNum()
    if (y = 0)
    then None
    else return (x / y)
  }

At build-time, the compiler will internally "de-sugar" this function into a denser chain of  calls:
maybe.Delay(fun () ->
  maybe.Bind(readNum(), fun x ->
    maybe.Bind(readNum(), fun y ->
      if (y=0) then None else maybe.Return(x / y))))

For a last example, even the general monad laws themselves can be expressed in do-notation:
do { x <- return v; f x }            ==  do { f v }
do { x <- m; return x }              ==  do { m }
do { y <- do { x <- m; f x }; g y }  ==  do { x <- m; y <- f x; g y }

While convenient, a developer should always remember that this block style is purely syntactic and can be replaced with outwardly monadic (or even non-monadic CPS) expressions.
Using  to express the monadic pipeline can still be clearer in many cases, and some functional programming advocates even argue that since block-style allows novices to carry over habits from imperative programming, it should be avoided by default and only used when obviously superior.

General interface
Every monad needs a specific implementation that meets the monad laws, but other aspects like the relation to other structures or standard idioms within a language are shared by all monads.
As a result, a language or library may provide a general Monad interface with function prototypes, subtyping relationships, and other general facts.
Besides providing a head-start to development and guaranteeing a new monad inherits features from a supertype (such as functors), checking a monad's design against the interface adds another layer of quality control.

Operators
Monadic code can often be simplified even further through the judicious use of operators.
The  functional can be especially helpful since it works on more than just ad-hoc monadic functions; so long as a monadic function should work analogously to a predefined operator,  can be used to instantly "lift" the simpler operator into a monadic one.
With this technique, the definition of add from the Maybe example could be distilled into:
 add(mx,my)  =  map (+)

The process could be taken even one step further by defining add not just for Maybe, but for the whole Monad interface.
By doing this, any new monad that matches the structure interface and implements its own  will immediately inherit a lifted version of add too.
The only change to the function needed is generalizing the type signature:
 add : (Monad Number, Monad Number)  →  Monad Number

Another monadic operator that is also useful for analysis is monadic composition (represented as infix >=> here), which allows chaining monadic functions in a more mathematical style:
 (f >=> g)(x)  =  f(x) >>= g

With this operator, the monad laws can be written in terms of functions alone, highlighting the correspondence to associativity and existence of an identity:
 (unit >=> g)     ↔  g
 (f >=> unit)     ↔  f
 (f >=> g) >=> h  ↔  f >=> (g >=> h)

In turn, the above shows the meaning of the "do" block in Haskell:

 do
  _p <- f(x)
  _q <- g(_p)
  h(_q)          ↔ ( f >=> g >=> h )(x)

More examples

Identity monad
The simplest monad is the Identity monad, which just annotates plain values and functions to satisfy the monad laws:
 newtype Id T  =  T

 unit(x)    =  x
 (x >>= f)  =  f(x)

Identity does actually have valid uses though, such as providing a base case for recursive monad transformers.
It can also be used to perform basic variable assignment within an imperative-style block.

Collections
Any collection with a proper  is already a free monoid, but it turns out that List is not the only collection that also has a well-defined  and qualifies as a monad.
One can even mutate List into these other monadic collections by simply imposing special properties on :

IO monad (Haskell)
As already mentioned, pure code should not have unmanaged side effects, but that does not preclude a program from explicitly describing and managing effects.
This idea is central to Haskell's IO monad, where an object of type IO a can be seen as describing an action to be performed in the world, optionally providing information about the world of type a. An action that provides no information about the world has the type IO (), "providing" the dummy value ().
When a programmer binds an IO value to a function, the function computes the next action to be performed based on the information about the world provided by the previous action (input from users, files, etc.). Most significantly, because the value of the IO monad can only be bound to a function that computes another IO monad, the bind function imposes a discipline of a sequence of actions where the result of an action can only be provided to a function that will compute the next action to perform. This means that actions which do not need to be performed never are, and actions that do need to be performed have a well defined sequence, solving the problem of (IO) actions not being referentially transparent.

For example, Haskell has several functions for acting on the wider file system, including one that checks whether a file exists and another that deletes a file.
Their two type signatures are:
doesFileExist :: FilePath -> IO Bool
removeFile :: FilePath -> IO ()

The first is interested in whether a given file really exists, and as a result, outputs a Boolean value within the IO monad.
The second function, on the other hand, is only concerned with acting on the file system so the IO container it outputs is empty.

IO is not limited just to file I/O though; it even allows for user I/O, and along with imperative syntax sugar, can mimic a typical "Hello, World!" program:
main :: IO ()
main = do
  putStrLn "Hello, world!"
  putStrLn "What is your name, user?"
  name <- getLine
  putStrLn ("Nice to meet you, " ++ name ++ "!")

Desugared, this translates into the following monadic pipeline (>> in Haskell is just a variant of  for when only monadic effects matter and the underlying result can be discarded):
main :: IO ()
main =
  putStrLn "Hello, world!" >>
  putStrLn "What is your name, user?" >>
  getLine >>= (\name ->
    putStrLn ("Nice to meet you, " ++ name ++ "!"))

Writer monad (JavaScript)
Another common situation is keeping a log file or otherwise reporting a program's progress.
Sometimes, a programmer may want to log even more specific, technical data for later profiling or debugging.
The Writer monad can handle these tasks by generating auxiliary output that accumulates step-by-step.

To show how the monad pattern is not restricted to primarily functional languages, this example implements a Writer monad in JavaScript.
First, an array (with nested tails) allows constructing the Writer type as a linked list.
The underlying output value will live in position 0 of the array, and position 1 will implicitly hold a chain of auxiliary notes:
const writer = value => [value, []];

Defining  is also very simple:
const unit = value => [value, []];

Only  is needed to define simple functions that output Writer objects with debugging notes:
const squared = x => [x * x, [`${x} was squared.`]];
const halved = x => [x / 2, [`${x} was halved.`]];

A true monad still requires , but for Writer, this amounts simply to concatenating a function's output to the monad's linked list:
const bind = (writer, transform) => {
    const [value, log] = writer;
    const [result, updates] = transform(value);
    return [result, log.concat(updates)];
};

The sample functions can now be chained together using , but defining a version of monadic composition (called pipelog here) allows applying these functions even more succinctly:
const pipelog = (writer, ...transforms) =>
    transforms.reduce(bind, writer);

The final result is a clean separation of concerns between stepping through computations and logging them to audit later:
pipelog(unit(4), squared, halved);
// Resulting writer object = [8, ['4 was squared.', '16 was halved.']]

Environment monad

An environment monad (also called a reader monad and a function monad) allows a computation to depend on values from a shared environment. The monad type constructor maps a type  to functions of type , where  is the type of the shared environment. The monad functions are:

The following monadic operations are useful:

The  operation is used to retrieve the current context, while  executes a computation in a modified subcontext. As in a state monad, computations in the environment monad may be invoked by simply providing an environment value and applying it to an instance of the monad.

Formally, a value in an environment monad is equivalent to a function with an additional, anonymous argument;  and  are equivalent to the  and  combinators, respectively, in the SKI combinator calculus.

State monads

A state monad allows a programmer to attach state information of any type to a calculation. Given any value type, the corresponding type in the state monad is a function which accepts a state, then outputs a new state (of type s) along with a return value (of type t). This is similar to an environment monad, except that it also returns a new state, and thus allows modeling a mutable environment.

type State s t = s -> (t, s)

Note that this monad takes a type parameter, the type of the state information. The monad operations are defined as follows:

-- "return" produces the given value without changing the state.
return x = \s -> (x, s)
-- "bind" modifies m so that it applies f to its result.
m >>= f = \r -> let (x, s) = m r in (f x) s

Useful state operations include:
get = \s -> (s, s) -- Examine the state at this point in the computation.
put s = \_ -> ((), s) -- Replace the state.
modify f = \s -> ((), f s) -- Update the state

Another operation applies a state monad to a given initial state:
runState :: State s a -> s -> (a, s)
runState t s = t s

do-blocks in a state monad are sequences of operations that can examine and update the state data.

Informally, a state monad of state type  maps the type of return values  into functions of type , where  is the underlying state. The  and  function are:
.

From the category theory point of view, a state monad is derived from the adjunction between the product functor and the exponential functor, which exists in any cartesian closed category by definition.

Continuation monad
A continuation monad with return type  maps type  into functions of type . It is used to model continuation-passing style. The return and bind functions are as follows:

The call-with-current-continuation function is defined as follows:

Program logging

The following code is pseudocode. Suppose we have two functions foo and bar, with types
foo : int -> int
bar : int -> int

That is, both functions take in an integer and return another integer. Then we can apply the functions in succession like so:
foo (bar x)

Where the result is the result of foo applied to the result of bar applied to x.

But suppose we are debugging our program, and we would like to add logging messages to foo and bar.
So we change the types as so:
foo : int -> int * string
bar : int -> int * string

So that both functions return a tuple, with the result of the application as the integer,
and a logging message with information about the applied function and all the previously applied functions as the string.

Unfortunately, this means we can no longer compose foo and bar, as their input type int is not compatible with their output type int * string. And although we can again gain composability by modifying the types of each function to be int * string -> int * string, this would require us to add boilerplate code to each function to extract the integer from the tuple, which would get tedious as the number of such functions increases.

Instead, let us define a helper function to abstract away this boilerplate for us:
bind : int * string -> (int -> int * string) -> int * string

bind takes in an integer and string tuple, then takes in a function (like foo) that maps from an integer to an integer and string tuple. Its output is an integer and string tuple, which is the result of applying the input function to the integer within the input integer and string tuple.
In this way, we only need to write boilerplate code to extract the integer from the tuple once, in bind.

Now we have regained some composability. For example:
bind (bind (x,s) bar) foo

Where (x,s) is an integer and string tuple.

To make the benefits even clearer, let us define an infix operator as an alias for bind:
(>>=) : int * string -> (int -> int * string) -> int * string

So that t >>= f is the same as bind t f.

Then the above example becomes:
((x,s) >>= bar) >>= foo

Finally, it would be nice to not have to write (x, "") every time we wish to create an empty logging message, where "" is the empty string.
So let us define a new function:
return : int -> int * string

Which wraps x in the tuple described above.

Now we have a nice pipeline for logging messages:
((return x) >>= bar) >>= foo

That allows us to more easily log the effects of bar and foo on x.

int * string denotes a pseudo-coded monadic value. bind and return are analogous to the corresponding functions of the same name.
In fact, int * string, bind, and return form a monad.

Variations
At a mathematical level, some monads have particularly nice properties and are uniquely fitted to certain problems.

Additive monads
An additive monad is a monad endowed with an additional closed, associative, binary operator mplus and an identity element under , called mzero.
The Maybe monad can be considered additive, with Nothing as  and a variation on the OR operator as .
List is also an additive monad, with the empty list [] acting as  and the concatenation operator ++ as .

Intuitively,  represents a monadic wrapper with no value from an underlying type, but is also considered a "zero" (rather than a "one") since it acts as an absorber for , returning  whenever bound to a monadic function.
This property is two-sided, and  will also return  when any value is bound to a monadic zero function.

In category-theoretic terms, an additive monad qualifies once as a monoid over monadic functions with  (as all monads do), and again over monadic values via .

Free monads
Sometimes, the general outline of a monad may be useful, but no simple pattern recommends one monad or another.
This is where a free monad comes in; as a free object in the category of monads, it can represent monadic structure without any specific constraints beyond the monad laws themselves.
Just as a free monoid concatenates elements without evaluation, a free monad allows chaining computations with markers to satisfy the type system, but otherwise imposes no deeper semantics itself.

For example, by working entirely through the Just and Nothing markers, the Maybe monad is in fact a free monad.
The List monad, on the other hand, is not a free monad since it brings extra, specific facts about lists (like ) into its definition.
One last example is an abstract free monad:
data Free f a
  = Pure a
  | Free (f (Free f a))

unit :: a -> Free f a
unit x = Pure x

bind :: Functor f => Free f a -> (a -> Free f b) -> Free f b
bind (Pure x) f = f x
bind (Free x) f = Free (fmap (\y -> bind y f) x)
Free monads, however, are not restricted to a linked-list like in this example, and can be built around other structures like trees.

Using free monads intentionally may seem impractical at first, but their formal nature is particularly well-suited for syntactic problems.
A free monad can be used to track syntax and type while leaving semantics for later, and has found use in parsers and interpreters as a result.
Others have applied them to more dynamic, operational problems too, such as providing iteratees within a language.

Comonads
Besides generating monads with extra properties, for any given monad, one can also define a comonad.
Conceptually, if monads represent computations built up from underlying values, then comonads can be seen as reductions back down to values.
Monadic code, in a sense, cannot be fully "unpacked"; once a value is wrapped within a monad, it remains quarantined there along with any side-effects (a good thing in purely functional programming).
Sometimes though, a problem is more about consuming contextual data, which comonads can model explicitly.

Technically, a comonad is the categorical dual of a monad, which loosely means that it will have the same required components, only with the direction of the type signatures reversed.
Starting from the -centric monad definition, a comonad consists of:
 A type constructor  that marks the higher-order type
 The dual of , called counit here, extracts the underlying value from the comonad:
 counit(wa) : W T → T
 A reversal of  (also represented with =>>) that extends a chain of reducing functions:
 (wa =>> f) : (W U, W U → T) → W T

 and  must also satisfy duals of the monad laws:
 counit ∘ ( (wa =>> f) → wb )  ↔  f(wa) → b
 wa =>> counit  ↔  wa
 wa ( (=>> f(wx = wa)) → wb (=>> g(wy = wb)) → wc )  ↔  ( wa (=>> f(wx = wa)) → wb ) (=>> g(wy = wb)) → wc

Analogous to monads, comonads can also be derived from functors using a dual of :
 duplicate takes an already comonadic value and wraps it in another layer of comonadic structure:
 duplicate(wa) : W T → W (W T)

While operations like  are reversed, however, a comonad does not reverse functions it acts on, and consequently, comonads are still functors with , not cofunctors.
The alternate definition with , , and  must also respect its own comonad laws:
 ((map duplicate) ∘ duplicate) wa  ↔  (duplicate ∘ duplicate) wa  ↔  wwwa
 ((map counit) ∘ duplicate)    wa  ↔  (counit ∘ duplicate)    wa  ↔  wa
 ((map map φ) ∘ duplicate)     wa  ↔  (duplicate ∘ (map φ))   wa  ↔  wwb

And as with monads, the two forms can be converted automatically:
 (map φ) wa    ↔  wa =>> (φ ∘ counit) wx
 duplicate wa  ↔  wa =>> wx

 wa =>> f(wx)  ↔  ((map f) ∘ duplicate) wa

A simple example is the Product comonad, which outputs values based on an input value and shared environment data.
In fact, the Product comonad is just the dual of the Writer monad and effectively the same as the Reader monad (both discussed below).
Product and Reader differ only in which function signatures they accept, and how they complement those functions by wrapping or unwrapping values.

A less trivial example is the Stream comonad, which can be used to represent data streams and attach filters to the incoming signals with .
In fact, while not as popular as monads, researchers have found comonads particularly useful for stream processing and modeling dataflow programming.

Due to their strict definitions, however, one cannot simply move objects back and forth between monads and comonads.
As an even higher abstraction, arrows can subsume both structures, but finding more granular ways to combine monadic and comonadic code is an active area of research.

See also
Alternatives for modeling computations:
 Effect systems (particularly algebraic effect handlers) are a different way to describe side effects as types
 Uniqueness types are a third approach to handling side-effects in functional languages

Related design concepts:
 Aspect-oriented programming emphasizes separating out ancillary bookkeeping code to improve modularity and simplicity
 Inversion of control is the abstract principle of calling specific functions from an overarching framework
 Type classes are a specific language feature used to implement monads and other structures in Haskell
 The decorator pattern is a more concrete, ad-hoc way to achieve similar benefits in object-oriented programming

Generalizations of monads:
 Applicative functors generalize from monads by keeping only  and laws relating it to
 Arrows use additional structure to bring plain functions and monads under a single interface
 Monad transformers act on distinct monads to combine them modularly

Notes

References

External links

HaskellWiki references:
 "All About Monads" (originally by Jeff Newbern) — A comprehensive discussion of all the common monads and how they work in Haskell; includes the "mechanized assembly line" analogy.
 "Typeclassopedia" (originally by Brent Yorgey) — A detailed exposition of how the leading typeclasses in Haskell, including monads, interrelate.

Tutorials:
 "A Fistful of Monads" (from the online Haskell textbook Learn You a Haskell for Great Good! — A chapter introducing monads from the starting-point of functor and applicative functor typeclasses, including examples.
 "For a Few Monads More" — A second chapter explaining more details and examples, including a Probability monad for Markov chains.
 "Functors, Applicatives, And Monads In Pictures (by Aditya Bhargava) — A quick, humorous, and visual tutorial on monads.

Interesting cases:
 "UNIX pipes as IO monads" (by Oleg Kiselyov) — A short essay explaining how Unix pipes are effectively monadic.
 Pro Scala: Monadic Design Patterns for the Web (by Gregory Meredith) — An unpublished, full-length manuscript on how to improve many facets of web development in Scala with monads.

1991 in computing
Functional programming
Articles with example Haskell code
Software design patterns
Programming idioms

Monad (functional programming)


Rudolf Keller später auch in der Schreibweise Rudolph Keller (* 26. April 1875 in Schlackenwerth, Österreich-Ungarn; † 9. Mai 1964 in New York City, New York) war ein US-amerikanischer Biochemiker, Publizist sowie Verleger österreichisch-tschechoslowakischer Herkunft.

Leben
Der der jüdischen Glaubensgemeinschaft angehörende Rudolf Keller wandte sich nach abgelegter Matura dem Studium der Naturwissenschaften an der Deutschen Universität Prag zu, das er mit dem Erwerb des akademischen Grades eines Dr. phil. abschloss. Der in den Folgejahren als Exporteur sowie Vertreter, später als Journalist tätige Keller stieg durch die Heirat mit der Tochter des Verlegers Heinrich Mercy zum Mitbesitzer sowie Herausgeber mehrerer Zeitungen auf, darunter des Prager Tagblatts und des Aussiger Tagblatts.

Rudolf Keller widmete sich daneben als Privatgelehrter der Biochemie und gehörte zu den Begründern und Mitarbeitern der biologisch-physikalischen Arbeitsgemeinschaft Prag. In den Jahren 1925 bis 1928 hielt er in Prag die Leitung eines naturwissenschaftlichen Labors inne.

Rudolf Keller emigrierte 1939 über Schweden sowie Großbritannien in die USA. 1944 wurde er zum Direktor der Robinson Foundation bestellt, 1947 wechselte er in gleicher Funktion zur Madison Foundation for Biochemical Research in New York. Der mit der Ehrendoktorwürde der Universität Basel ausgezeichnete Keller veröffentlichte unter anderem Elektrizität in der Zelle, erschienen 1918 im Braumüller Verlag.

Weitere Publikationen
 Elektrohistologische Untersuchungen an Pflanzen und Tieren, Prager Verlags-Gesellschaft, Prag-Smichov, 1920
 Poincaré und die deutsche Schwerindustrie, Verlagsbuchhandlung J. Kittl's Nachf. Keller & Co., Mährisch-Ostrau, 1924
 Biochemische Hochspannungsversuche, Julius Springer, Berlin, 1926
 Der elektrische Faktor der Ernährung, S. Karger, Berlin, 1936
 New aspects of cheap food, Research Books, London, 1943
 The role of potassium and sodium group in biology and medicine, R. Keller, New York, NY, 1946
 Extracellular substances in the thyroid, Robinson Foundation, New York, NY, 1947

Literatur
 Rudolf M. Wlaschek: Biographia Judaica Bohemiae, Band 1, Auslieferung, Forschungsstelle Ostmitteleuropa, ISBN 392329347X. Seite 103.
 Walther Killy und Rudolf Vierhaus (Hrsg.): Deutsche Biographische Enzyklopädie. Band 5, K.G. Saur Verlag GmbH & Co. KG, München, 1996 ISBN 3-598-23163-6. Seite 497.
 Thomas Theodor Heine, Thomas Raff (Hrsg.): Die Wahrheit ist oft unwahrscheinlich. Thomas Theodor Heines Briefe an Franz Schoenberner aus dem Exil, 1. Auflage, Wallstein Verlag, 2004, ISBN 389244465X. Seite 376, 377.
 Susanne Blumesberger, Michael Doppelhofer, Gabriele Mauthe: Handbuch österreichischer Autorinnen und Autoren jüdischer Herkunft 18. bis 20. Jahrhundert. Band 2: J–R. Hrsg. von der Österreichische Nationalbibliothek. Saur, München 2002, ISBN 3-598-11545-8, S. 664.

Weblinks

Biochemiker
Publizist
Verleger (20. Jahrhundert)
Ehrendoktor der Universität Basel
Emigrant zur Zeit des Nationalsozialismus
US-Amerikaner
Person (Österreich-Ungarn)
Tschechoslowake
Geboren 1875
Gestorben 1964
Mann

Rudolf Keller (Biochemiker)


Maja Keuc (Maribor, Eslovenia, 16 de enero de 1992) es una cantante eslovena, representante de su país en el Festival de la Canción de Eurovisión 2011.

Biografía

Maja empezó su formación musical en su infancia, cuando comenzó a estudiar en el "English Student Theatre" de su ciudad natal, Maribor. Durante sus estudios en aquel colegio, Maja adquirió mucha experiencia en canto y baile. Poco después, Maja empezó a participar en musicales como We Will Rock You que le llevaron por toda Eslovenia, Croacia e Italia.
A los 13 años, Maja entró en la banda Hrošči, donde empezó a componer y cantar música propia. La banda tuvo cierto éxito en la región de Maribor, pero se separaron tres años después de comenzar a tocar juntos, cuando Maja tenía 16 años.
A pesar de su experiencia posterior, Maja no se haría verdaderamente conocida en Eslovenia hasta su participación en la versión eslovena del concurso Got Talent (Slovenija ima Talent). En este concurso, Maja quedó en segundo lugar, por detrás de la pequeña de 7 años, Lina Kuduzovic

Festival de la Canción de Eurovisión 2011
En 2011 Maja se presentó a la preselección eslovena para el Festival de Eurovisión 2011, el EMA con la canción «Vanilija». La final de esta preselección se celebró el 27 de febrero de 2011 y Maja se alzó ganadora, con un 70.7% de los votos en la superfinal frente al 29.3% de la segunda clasificada, April. Esta victoria dio a Maja el derecho de ser la representante de Eslovenia en Düsseldorf.
En los meses posteriores a su elección, la canción de Maja fue remasterizada y traducida al inglés como «No One».
Maja consiguió clasificar a Eslovenia para la final en Eurovisión por primera vez desde 2007. En la final, Maja actuó en el puesto 20 y acabó decimotercera con un total de 96 puntos, siendo éste el mayor número de puntos para Eslovenia en la final en la historia y la mejor clasificación para el país desde 2002.

2011 - Actualidad: Indigo y Misija Evrovizija
Tras el Festival de Eurovisión, Maja se centró en la grabación de su primer disco, Indigo, que salió al mercado el 1 de diciembre de 2011 Durante el otoño e invierno de ese mismo año, Maja presentó el programa Misija Evrovizija, del que saldría posteriormente la representación eslovena para el Festival de la Canción de Eurovisión 2012. Misija se perfila como una de las concursantes para la nueva edición de Melodifestivalen 2019 (preselección sueca para Eurovisión)

Vida personal
Maja mantuvo una relación con el bailarín Anze Zalar, hijo del político esloveno Aleš Zalar.

Discografía

Álbumes de estudio
 Indigo (2011)

Singles
 No One (2011)
 Close To You(como Amaya)

Referencias

Enlaces externos
 Sitio web oficial

Cantantes femeninas de Eslovenia
Nacidos en Maribor

Maja Keuc


Gang Bang est une chanson du  studio de Madonna, MDNA, dont elle est la deuxième piste.

Elle a été écrite par Madonna, Mika, William Orbit, Priscilla Hamilton, Keith Harris, Jean-Baptiste, Don Juan « Demo » Casanova, et produit par Madonna, Orbit et The Demolition Crew.

Madonna a cité le réalisateur américain Quentin Tarantino comme source d'inspiration pour la chanson, révélant qu'elle le voulait comme réalisateur pour le clip de la chanson.

Chanson dance, électronique, électropop et techno, elle dépeint lyriquement une femme méprisée cherchant à se venger de son amant. Les sirènes de police, les voix chuchotées, les rythmes lancinants et une panne de dubstep confèrent à la chanson une atmosphère remplie de suspense. La chanson a été acclamée par la critique, la plupart l'appelant un point culminant de l'album et aussi la piste la plus audacieuse de l'album. Certains l'ont même saluée comme l'une des meilleures chansons de Madonna.

« Gang Bang » s'est classé dans le classement français Singles Chart et le classement Dance/Electronic Digital Songs, en raison des téléchargements numériques de MDNA.

Madonna a interprété la chanson sur The MDNA Tour, dans un cadre de motel où on la voit tirer sur les danseurs masculins qui s'infiltrent dans sa chambre, avec du sang éclaboussé sur la toile de fond. La performance a été fortement critiquée pour son utilisation d'armes à feu, mais a reçu des critiques favorables de la part des critiques.

Contexte et inspiration

Madonna a écrit la chanson avec le réalisateur américain Quentin Tarantino en tête pour réaliser son clip.

Alors qu'elle travaillait sur son prochain album, MDNA, Madonna a enrôlé William Orbit pour travailler à nouveau avec elle. Orbit avait déjà travaillé avec Madonna sur des chansons comme Ray of Light, Frozen et Beautiful Stranger, entre autres. Le producteur a insisté sur le fait que malgré l'abondance de musique pop dans les charts à cette époque, ils ne prêtaient pas beaucoup d'attention à ce qui était joué sur les radios Top 40. Au lieu de cela, ils se sont concentrés sur leur propre musique et la « bulle de créativité » dans laquelle ils vivaient. Orbit a également révélé: « Nous avons aimé ce que nous faisons dans cette époque et cet espace actuels », a-t-il poursuivi. « Ce que nous avions tendance à faire, c'était regarder de vieux films Français des années 1960 ou écouter de la musique si éloignée qu'elle n'était en aucun cas pertinente. ».

Parmi les chansons enregistrées pour l'album, « Gang Bang » a été confirmée par Madonna pour faire partie de la liste des pistes, qui a été révélée sur son site officiel en février 2012. Le 8 mars, le chanteur et co-scénariste du morceau, Mika, a tweeté que c'était « bizarre comme putain, underground et lyriquement cool ; c'est incroyable et bizarre. J'adore ça, elle sonne si bien en chantant des mots si durs. ». Le même jour, un extrait de la piste est sorti. Orbit a également commenté le ton sombre et les paroles de la chanson :

« [C'est] agressif ». « C'est comme si elle avait chanté ça d'emblée. C'est ce que je veux dire. Elle l'a créé dans l'instant. Et les paroles étaient toutes là, mais je pense qu'elle est tombée dans un personnage. C'était en fait une bonne journée. Ce n'était pas un jour sombre. Il n'y avait pas comme l'agression dans l'air. La démo créée à l'improviste à peu près. Elle en aimait l'esprit. Nous dansions tous autour de la salle de contrôle... C'était une atmosphère totale de spontanéité. Plutôt amusant, mais c'est sombre. ».

Madonna a déclaré qu'elle avait écrit « Gang Bang » en pensant au réalisateur Quentin Tarantino, en disant: « C'est à qui je pensais quand j'ai écrit la chanson. J'imaginais l'un de ses films et l'un des personnages féminins. J'ai tout mis au point. Tout ce que Quentin a à faire est de se présenter avec une caméra. Je n'ai pas les moyens de payer des honoraires d'administrateur. ». Cependant, interrogé sur la vidéo, Tarantino a répondu : « Je ne sais pas. On m'a demandé de réaliser des publicités et des clips musicaux, Madonna et Jay-Z voulaient que je réalise leurs vidéos, mais j'ai refusé. Je ne suis pas intéressé, tout comme je ne suis pas intéressé par les publicités. Si ce n'est pas pour faire des films, je ne veux pas être sur le plateau. »

Composition
« Gang Bang » a été écrit par Madonna et Orbit avec Priscilla Hamilton, Keith Harris, Jean-Baptiste, Mika, Don Juan « Demo » Casanova, et produit par Madonna, Orbit et The Demolition Crew. C'est la chanson la plus longue de l'album, d'une durée de .

Lyriquement, il suit une femme réunissant ses copains pour chercher une vengeance sanglante contrequelqu'un, avec la chanteuse déclarant: « Tu t'as abattu, tiré sur mon amant dans la tête / Je vais directement en enfer / J'ai beaucoup d'amis là-bas », avant de crier: « Conduis salope, meurs salope! ». Il se termine par la phrase : « Si tu vas [agir] comme une chienne, alors tu vas mourir comme une chienne. ».

Selon Bradley Stern de MTV News, la chanson « revisite le rôle de la chanteuse méprisée de 'Thief of Hearts' (1992) d'Erotica ».

« Gang Bang » est une chanson dark-dance, électronique, électropop et techno, avec une panne de dubstep dans son huit du milieu et des rythmes teintés d'industriel.

Michael Cragg de The Guardian, a commenté que le morceau « rappelle son album American Life dans son mariage légèrement difficile des genres ».

L'écrivain Alexander d'Idolator pensait que la chanson « nous donne un flashback sur sa collaboration [sous-estimée] avec Lil' Wayne, Revolver'' (sorti en 2009) ».

Réception
La chanson a été acclamée par la critique. Michael Cragg du Guardian a écrit qu'il s'agit « d'une collection ridicule d'effets sonores (sirènes de police, coups de feu) et d'une menace imposante qui est en fait assez amusante d'une manière légèrement désarticulée ».

 Neil McCormick de The Telegraph  a écrit que la chanson est « un groove techno solide et l'un des morceaux les plus étranges et les plus intéressants de l'album ».
 Bradley Stern a commenté que la chanson « n'est pas seulement le point culminant de l'album, mais un point culminant de la carrière de Madonna ».
 Matthew Perpetua de Pitchfork Media  a écrit que « c'est la piste la plus audacieuse et la plus expérimentale de l'album, et elle n'est gâchée que par une performance vocale tout juste sortie qui rend sa voix très familière un peu anonyme, et une tentative timide d'une chute de basse dub-step ».
 Nick Levine de BBC Music l'a qualifié de « morceau absurde de pop schlock ».
 Priya Elan de NME a écrit que « la musique est froide et minimale, rappelant les rythmes house sordides de 'Erotica', et Madge bêle comme une disco antagoniste Fury poussée au bord par sa soif de vengeance. Et bon sang, c'est passionnant. ».
 Sal Cinquemani de  Slant Magazine  l'a qualifié de « coupe remarquable dans laquelle Madonna dépeint de manière assez convaincante une mariée agitée devenue femme fatale dans la veine de Beatrix Kiddo», écrivant qu'elle « joue plus comme une prise de pisse du fétichisme gangster de Ritchie, qu'une glorification de celui-ci ».
 Melinda Newman de HitFix l'a qualifié de « l'un des morceaux les plus convaincants, avec Madonna chantant dans un registre chuchotant bas, détaillant qu'elle a abattu son amant dans la tête et, de plus, elle n'a aucun regret. C'est violent et explicite et c'est ce que Madonna avait l'habitude de représenter : un sentiment de danger. »
 Jim Farber du New York Daily News l'a qualifiée d'« historique » et « peut-être la première chanson de meurtre-ballade-as-disco au monde ».
 Samuel R. Murrian de Parade l'a classé au numéro 72 sur sa liste des 100 plus grandes chansons de Madonna, l'appelant « un film de vengeance d'exploitation grindhouse vintage dans une mélodie. Cette piste cinématographique vivante se construit et se construit jusqu'à ce qu'elle crie à la fin. C'est très amusant ».

« Gang Bang » est entré dans certains palmarès en raison des téléchargements numériques de MDNA. Il est entré dans le Français Singles Chart à la  place pour la date de sortie du 31 mars 2012. Aux États-Unis, la chanson s'est classée au  rang du Billboard Dance/Electronic Digital Songs. En Corée du Sud, la chanson a fait ses débuts à la  place du Gaon International Downloads Chart avec des ventes de .

Performance live et controverse

« Gang Bang » a été ajouté à la setlist de The MDNA Tour (2012), et a joué comme la troisième chanson.  Dans la performance, Madonna attaque plusieurs de ses danseurs avec un faux pistolet dans un émouvant « Paradise Motel », alors que du sang éclaboussait sur les écrans de fond.

La performance a été condamnée par des groupes comme « Mothers Against Guns », qui a déclaré que la chanteuse devrait « mieux savoir ».

Les réactions des membres du public ont été assez sévères, l'un d'eux commentant: « Nous dansons et tout d'un coup, les gens ont commencé à réaliser ce qu'était la chanson », a déclaré Aaron Fransua, 25 ans, qui était dans la section 120. « Nous sommes tous restés là. Tous ceux qui étaient autour de moi avaient tous un choc sur le visage. J'ai entendu beaucoup de 'wows' », a déclaré Fransua.

Un membre de son équipe de tournée a déclaré au  Huffington Post  que « Madonna préférerait annuler son spectacle plutôt que de censurer son art. Toute sa carrière, elle s'est battue contre les gens qui lui disaient ce qu'elle pouvait et ne pouvait pas faire. Elle n'est pas sur le point de commencer à les écouter maintenant. ».

Madonna elle-même a expliqué l'utilisation des armes à feu dans une lettre : « Je ne tolère pas la violence ou l'utilisation d'armes à feu », a-t-elle écrit. Ce sont plutôt des symboles de vouloir paraître fort et de vouloir trouver un moyen d'arrêter les sentiments que je trouve blessants ou dommageables. Dans mon cas, je veux mettre fin aux mensonges et à l'hypocrisie de l'Église, à l'intolérance de nombreuses cultures et sociétés étroites d'esprit que j'ai vécues tout au long de ma vie et, dans certains cas, à la douleur que j'ai ressentie en ayant le cœur brisé.

Elle a également commenté la controverse dans une interview pour Good Morning America, disant qu'elle ne retirerait pas les armes de la performance, ajoutant: « Ce serait comme demander aux gens de ne pas avoir d'armes à feu dans les films d'action... Je veux dire, le truc, c'est que les armes à feu ne tuent pas les gens, les gens tuent les gens. Toute cette première partie de la série est comme un film d'action, et je jouais un super-vixen qui voulait se venger. ».

En passant en revue le DVD du MDNA World Tour, Arnold Wayne Jones du Dallas Voice a écrit que « les projections sanglantes pendant 'Bang Bang', Madonna nous rappelle pourquoi nous suivons ses machinations depuis près de 30 ans ».

Entertainment Focus a critiqué ceux qui se sont plaints de la violence sur la performance, écrivant que, « C'est un spectacle de Madonna et elle n'a jamais été rien de moins que ballsy. ».

Jim Farber du New York Daily News a écrit que la chanson « pourrait être la première ballade de meurtre disco de l'histoire », disant que dans la performance, « Madonna souffle une armée d'intrus avec suffisamment de délectation pour obtenir un rôle principal dans le prochain gorefest de Quentin Tarantino ».

Saeed Saeed de The National, a abondé dans le même sens, qualifiant la performance de « vengeance de Quentin Tarantino ».

Glenn Gamboa de Newsday, l'a appelé « une saison de Dexter condensée en cinq minutes, avec des éclaboussures de sang sur les écrans vidéo massifs ».

Mario Tarradell du Dallas Morning News, a écrit que la performance « était parfaitement mise en scène, et elle avait un message clair : Madonna ne sera pas gênée ».

Andrew Matson du Seattle Times, a écrit que « la violence était tellement exagérée qu'elle a éclipsé le reste de la série ».

Crédits et personnel

 Madonna – auteur-compositeur, producteur, chant
 William Orbit – auteur-compositeur, producteur
 Mika – auteur-compositeur
 Priscilla Renea Hamilton – auteur-compositeur
 Keith Harris – auteur-compositeur
 Don Juan « Demo » Casanova – auteur-compositeur, producteur, mixeur, batterie et basse
 Jean-Baptiste – auteur-compositeur
 Stephen Kozmeniuk – auteur-compositeur, éditeur, claviers,
 Michael Turco – producteur, synthés additionnels

Crédits adaptés des notes de pochette de MDNA.

Liens externes

Références

Chanson interprétée par Madonna
Single publié par Interscope Records
Chanson écrite par Madonna

Gang Bang (chanson de Madonna)


Theodor Herzl () veya sünnetinden
sonra aldığı ismi ve soyismi ile Binyamin Ze'ev (; 2 Mayıs 18603 Temmuz 1904), Modern Siyonizm'in kurucu babası olan Avusturya-Macaristan vatandaşı Yahudi gazeteci, oyun yazarı, yazar ve politik aktivistti. Dünya Siyonist Örgütü'nü kurmuş ve bir Yahudi devleti kurma amacıyla Yahudilerin, Filistin'e göç etmeleri gerektiği fikrini savunmuştur. İsrail'in kuruluşundan 44 yıl önce yaşamını yitirmiş olmasına rağmen İsrail Devleti'nin kurucu babası olarak kabul edilmektedir.

Herzl, İsrail Bağımsızlık Bildirgesi'nde özel olarak bahsedilir ve resmi olarak "Yahudi Devletinin ruhani babası", yani politik Siyonizm'e somut, uygulanabilir bir platform ve çerçeve sunan bir vizyoner olarak anılır ancak o, ilk Siyonist teorisyen veya aktivist değildi. Yehuda Bibas, Zvi Hirsch Kalischer ve Judah Alkalai gibi birçok dindar Yahudi haham, Herzl'dan daha önce proto-Siyonizm fikrini desteklemiş ve savunmuşlardı.

İlk yılları

Herzl, 1860'ta Budapeşte'nin doğudaki bir bölgesi olan Peşte, Macaristan Krallığı'nda Dohány utca isimli Yahudi gettosunda () seküler bir Yahudi ailenin çocuğu olarak dünyaya geldi. Babası Jakob Herzl'ın ailesi, Zimon'dan (günümüzde Zemun, Sırbistan) Budapeşte'ye yerleşmiş Aşkenazi Yahudileriyidi. Annesi Jeanette Herzl'ın ailesi ise Sefaradi Yahudisi kökenliydi. Babası, Jakob Herzl (1836-1902), çok başarılı bir iş insanıydı. Herzl'in kendinden bir yaş büyük; 7 şubat 1878 tarihinde tifodan dolayı ölecek olan Pauline adında bir kız kardeşi vardı. Doğduğu Dohány utca mahallesinin sonundaki Dohány Sokağı Sinagogu'nun yanındaki evlerinde, ailesi ise birlikte uzun yıllar yaşadı.

Kariyerini belirlerken, Süveyş Kanalı'nı yaptırtan Fransız diplomat Ferdinand de Lesseps'in izinden giderek onun gibi iyi bir politikacı olmak istedi fakat, o dönemlerde Yahudidilerin politikaya girmeleri yasak olduğundan, bu hayali suya düştü. Sonraki yıllarda kendini edebi sanatlara ve sosyal bilimlere verdi; şiir yazdı ve sosyolojik kitaplar okudu. Bu tutukusu, daha sonra başarılı bir gazeteci ve—çok meşhur olmasa da—oyun yazarı olmasına sebep oldu. Amos Elon'un ifadelerine göre Herzl, şiddetli bir Alman severdi; öyle ki, Almanları Orta ve Doğu Avrupa'nın en kültürlü insanları olarak görüyordu. Bu yüzden Herzl, kendi milleti olan Yahudilerin (özellikle Macaristan topraklarındaki Yahudilerin) Almanların yanında kala kala, fakir ve zulümler görmüş bir toplumu geride bırakıp daha medeni bir topluluk olacaklarını düşündü.

Kız kardeşi Pouline'nin 1878'deki ölümünden sonra Herzl, ailesi ile birlikte Viyana'nın 9 numaralı bölgesi olan Alsergrund'e taşındı. Burada Viyana Üniversitesi, Hukuk bölümüne girdi ve eğitimini tamamladı. Daha sonra Herzl, Avusturya'nın en milliyetçi topluluklarından biri olan Albia'ya üye oldu; topluluğun sloganı , "Onur, Özgürlük, Vatan" idi. Ancak daha sonra antisemitistlerin protesto ve ayrımcılıklarına maruz kalarak bu topluluktan ayrıldı. Viyana Üniversitesi'nde ve Salzburg'da yaptığı kısa hukuk akademisyenliğinden sonra kendini tam bir gazeteci olarak görmek istedi ve deneme yazıları yazmaya başladı. Zamanla Viyana Gazetesine giren Herzl, aynı zamanda Paris'teki Neue Freie Pressede muhabirlik yapmaya başlamıştı (daha sonra burada yayım editörü oldu). Yoğun olarak çalıştığı bu dönemde Herzl, ayrıca Viyana tiyatrolarına drama ve komedi temalı oyunlar yazdı.

Siyonizm felsefesi

Yahudi milliyetçisi olması

Herzl, Neue Freie Pressenin muhabiri olduğundan beri Paris, Fransa'daki Dreyfus Olayı'nı yakından takip ediyordu. Bu olay, 1894'ten 1906'ya kadar çözülemedi ve çözülünceye kadar Üçüncü Fransız Cumhuriyeti'ni sarsan en büyük politik skandallardan biri oldu ve dönemin dünyasının en büyük antisemitik olaylarından biri olarak görüldü. Olay, Fransa Ordusu'nda görev yapan Yahudi kökenli  Alfred Dreyfus'un haksız yere Alman İmparatorluğu'nun casusu olmakla suçlanmasını içeriyordu. Herzl ise Dreyfus duruşmasının çıkışında, milliyetçi Fransızların yaptıkları protestolara şahitlik etti. Herzl, özellikle protestolardaki kalabalıkların "Yahudilere ölüm!" bağırışlarından çok etkilenmiş, bundan derin bir üzüntü duymuş ve antisemitistlere karşı daha çok nefret beslemiştir. Bu olaylardan sonra Herzl, artık milliyetçi bir Yahudi olmuş ve Siyonizm'e yönelmiştir.

Jacques Kornberg gibi isimler, Dreyfus olayının Herzl'ın üzerinde yarattığı etkinin bir efsane olduğunu ve Herzl'in bunu yalanlama ihtiyacı duymadığını belirtti. Dönemin birçok gözlem denetleyicisi gibi Herzl da, ilk başta Alfred Dreyfus'u suçlu buldu, ancak olayın gelişme göstermesi ve Dreyfus'un suçsuzluğunun ortaya çıkmaya başlaması ile Herzl, Dreyfus'u destekler yazılar ve afişler yazmaya başladı. Bu olaydan sonra Herzl'ı etkileyen ikinci bir etken ise, dönemin ünlü antisemitisti Karl Lueger'in görünürlüğünün 1895 itibarıyla artmasıydı. Herzl, bu dönemde "Yeni Getto" oyununu yazmıştı ve bu oyunda, Viyana'daki Yahudilerin karşılaştığı güvenlik sorunları ve eşitsizliği konu almıştı. Oyunun ana karakteri, Yahudiler üzerine uygulanan sosyal gettolardan başarısızca kaçmaya çalışan bir Yahudi avukattı.

Henry Wickham Steed'in iddiasına göre Herzl, başlangıçta 'Liberal Alman-Yahudi' asimilasyonu yaklaşımını yayılmasını fanatikçe desteklemekteydi. Ancak Herzl, Yahudilerin asimile edilmesine karşı koyan yazılar yazmaktaydı; hatta Avrupa'daki Yahudileri, dönem dönem yine yükselen antisemitizmden korumak için Yahudilerin, Avrupa'dan uzaklaşmaları gerektiği fikrini destekliyordu. Herzl yaşamı boyunca, Yahudi milletinin bir araya gelip, zamanla antisemitizmi yok edeceklerini veya bastıracağına inanıyordu. Ona göre, antisemitizmi yok etmenin nihai yolu bir Yahudi Devleti kurmaktı. Haziran 1895'te ajandasına şu sözleri yazdı: "Paris'te de söylediğim gibi; antisemitizme karşı hep daha özgür bir duruş gösterdim ... her şeyden öte, antisemitizm ile savaşmanın boş ve faydasız olduğunu kabullendim." Neue Frei Presse yayım editörleri, Herzl'ın politik Siyonizm içerem yazılarını yayımlamayı kabul etmedi. Bu zor dönemlerde Herzl'ın içinde ikilem vardı. Bu ikilem: Edebi başarıya ulaşmak veya bir halk figürü olmak arasındaydı. Aynı dönemde Herzl, Ein jüdischer Staat ("bir Yahudi Devleti") başlıklı broşürler yazıp yayımlamaya başladı. Gelecekte Herzl, bu broşürlerin Siyonizm fikrini güçlendirdiğini ve büyüyüp başarılı olmasını sağladığını belirtti.

1895'in sonlarına yakın Herzl, "Yahudi Devleti" anlamına gelen Der Judenstaat isimli kitabını yazmaya başladı. Kitap, Şubat 1896'da Almanca basılıp yayımlandı ve hızlıca tartışma ortamı yarattı. Mayıs 1896'da ise Londra'da, kitabının İngilizce çevirisi yayımlandı. Kitaba göre Yahudiler, bir an önce Avrupa'dan ayrılıp tarihî İsrail topraklarında bir devlet sahibi olmalıydılar; Yahudiler bir milletti ve ihtiyaçları olan tek şey kendilerine ait bir devletti. Herzl'in fikirleri bu kitaptan sonra hızla dünyadaki Yahudi topluluklarına yayıldı ve özellikle Avrupa'daki Yahudi baronların ve bankerlerin oldukça ilgisini çekti. Hovevei Zion gibi Siyonizm hareketi destekçileri ise Herzl'e koşulsuz destek verdiler ve hemen onun yanında olduklarını belirttiler. Ancak her şeyin olduğu gibi kalıp, yaşadıkları topluma entegre olmaları gerektiğini düşünen Yahudilerde vardı ve onlar ise Herzl'a karşı çıktı; onun fikirlerini 'Tanrı'ya karşı bir ayaklanma' olarak gördüler.

Dünya Siyonist Kongresi

1897'de Herzl, Viyana'da, kendi finanse ettiği ve masraflarını kendi karşıladığı Siyonist gazete Die Welti kurdu ve aynı yıl Basel, İsviçre'de Birinci Siyonist Kongre'yi topladı; kongrenin başkanı seçildi ve 1904'teki ölümüne kadar görevde kaldı. 1898'de, bir Yahudi Devleti kurmak amacında ilk adımları diplomatik olarak attı. II. Wilhelm tarafından birçok kez davete çağrıldı, bu davetlerin ilki Kudüs'te gerçekleşti. Herzl ayrıca Lahey Barış Konferansı'na da katıldı; birçok sorumlu politikacı ve devlet adamı tarafından sıcak karşılandığını gördü.

Herzl, Leo Pinsker'in 1882'de yayınladığı 'Yahudilerin özgürleşmesi' konulu çalışmasını ele aldı ve felsefi bir yaklaşımla teorinin zayıflıkları üzerinde durdu. Herzl'e göre her bir diktatör veya lider muhakkak ulusal bir kimliğe sahip olmalıydı. Zamanla Herzl, kitaplarında antisemitizmin merkezinin Almanya olduğunu belirtiyor, edebi açıdan güçlü olan Israel Zangwill ve Max Nordau gibi isimler ile ortak çalışmak istiyordu. Aynı dönem, Yahudilerin problemleri ile pek ilgilenmeyen Yahudi banker Albert Salomon A. von Rothschild ile de görüştü.

Yahudi anavatanı vizyonu
Banker, baron ve asilzade Yahudiler Herzl'den çok hoşlanmışlardı. Onlara göre Herzl, kendi otoritelerini tanımıyordu. Herzl, Pinkster'in "Yahudilerin Avrupa'da işi yok" gibi bir düşünceye katılıyordu ve yaşamı boyunca Yahudilerin Avrupa'yı terk edip Vadedilmiş Topraklar'a yerleşmeleri fikrini savundu. Pinkster'ın yaklaşımları, bir uyarı niteliğindeyken Herzl'in yaklaşımları, Yahudilerin vatan sorusuna direkt cevap arar niteliğindeydi. Kitabı Judenstaatta:  demiş ve devam etmiştir:  kitabın sonunda ise şu satırları yazmıştır:

Osmanlılar ile diplomatik irtibat
Herzl zamanla büyük bir enerji eşliğinde fikirlerini yaymaya başladı ve gittikçe hem Yahudi hem de Yahudi olmayan destekçiler kazandı. Norman Rose'a göre Herzl, kendisini bir 'şehit' olarak sunmayı tasarladı; bir nevi Yahudilerin Charles Parnell'i olacaktı. 10 Mart 1896'da, Büyük Britanya'nın Viyana Büyükelçiliği'nin Anglikan Kilisesi Papazı William Hecler, Herzl'ı ziyaret etti. Hecler, Herzl'in Der Judenstaat kitabını okumuştu. Bu toplantı Herzl'ın ve Siyonizm hareketinin, daha sonra meşrulaşmasının merkezine oturdu. Herzl daha sonra ajandasına şunları yazdı:  Hecler daha sonra, hem Baden Grandükü hem de II. Wilhelm'in amcası olan I. Frederick'le Herzl'i görüştürdü. Hecler ve Grandük'ün çabalarıyla Herzl, ilk kez 1898'de II. Wilhelm ile görüştü. Bu görüşme, Yahudilerin ve dünyanın gözünde, Herzl'ın ve Siyonizm'in meşrutiyetini artırdı. 15 Haziran 1896'da Herzl, Osmanlı mahmelerinde önemli tanıdıkları olan sempatik bir Polonyalı olan Kont Philip Michael von Nevlenski ile görüştü ve ona Sultan II. Abdülhamid ile görüşmek istediğini belirtti; böylece Yahudi Devleti isteğini doğrudan söyleyebilecekti.

Ancak Sultan ile görüşmeyi organize etmeyi başaramadı; bunun yanı sıra, çok önemli birkaç isimle görüşmeyi başardı. Bunların arasında Vezir-i azam da vardı ve Herzl ile, Neue Frei Pressenin muhabiri olarak görüşmeyi kabul etti. Herzl, önerisini Vezir-i azama sundu ve Osmanlı'nın, Kudüs ve çevresini Yahudilere vermesi karşılığında, Osmanlı İmparatorluğu'nun yüklü dış borçlarının tümünün Yahudiler tarafından kapatılacağını ve Osmanlı'ya finansal olarak her türlü desteği vereceklerini teklif etti. 29 Haziran 1896'da Newlenski, Herzl için sembolik bir madalya elde etti. Mecidiye Nişanı olan bu madalya Herzl'in müzakerelerinin önemini ve ciddiyetini tanıyan bir onur madalyasıydı. Yaklaşık beş yıl sonra 17 Mayıs 1901'de, Herzl'ın önerisini kabul etmeyen Sultan Abdülhamid ile, Dolmabahçe'de görüştü. Bu görüşmeler sırasında Theodor Herzl'in dış borçları ödeyebilecek sermayesi bulunmuyordu. Bu sermayenin II. Abdülhamit ile anlaşmaya varıldıktan sonra temin edilebileceğini planlamıştı. Görüşmeler sırasında Herzl'in sermayesi bulunmadığı açığa çıkacakken, II. Abdülhamit'in Fransa'dan fon bulması sayesinde, Herzl itibarını koruyabildi. Doğan Avcıoğlu'na göre de Abdülhamit ile Herzl görüşmelerinde mali vaatlerin gerçekleştirilebileceğine kuşku ile bakılmıştır. Avcıoğlu'na göre II. Abdülhamit, bu görüşmelerde Yahudi yerleşimlerinin Suriye, Anadolu ve Mezopotamya bölgesinde olmasını kabul etmesine rağmen Herzl'in "Filistin bölgesi" ısrarı ile görüşmeler başarısızlıkla sonuçlandı.

Herzl, İstanbul'dan tren ile Londra'ya gitti ve makkabiler topluluğuyla geribildirim için buluştu. Bu topluluk, İngiliz Albay Albert Goldsmid liderliğindeki, Britanya Yahudilerinin kurduğu Siyonist bir topluluktu. Kasım 1895'te, Herzl'i bir umursamazlık ve soğuklukla toplantılarına davet ettiler. Yisrael Zangwill, Herzl'i tersleyerek ona karşı çıktı fakat Goldmid, İstanbul görüşmesinden sonra Herzl'ı destekleme kararı aldı. 12 Temmuz 1896'te Herzl, Londra'nın doğusundaki Yahudi semtinde, Yidiş konuşarak binlerce Yahudiye hitap etti. Zamanla bu topluluk Herzl'a, Siyonizm liderliğinin vekaletini verdi. Bu vekaletten sonra, altı ay içerisinde Siyonist Yahudiler arasında, Herzl'in liderliği arttıkça daha çok kabul gördü ve Siyonizm hareketi hızlıca büyüdü.

Kutsal Topraklar ziyareti

Ekim 1898'de Herzl, II. Wilhelm ile eşzamanlı Kudüs'ü ziyaret etti. Bunun nedeninin ise, dünyanın hem kendisini hem de Siyonizm'i tanımasını istemesi olduğunu söyledi. Wilhelm ile Herzl ilk önce 29 Ekim'de, günümüzde Holon şehrinde bulunan Mikveh Y'israel okulunda, kısa ancak tarihî bir toplantı olarak görülen bir görüşme gerçekleştirdiler. 2 Kasım 1898'de, Wilhelm'in Peygamberler Caddesi, Kudüs'te bulunan yerinde tekrar Wilhelm ile görüştü. Daha sonra Kudüs'ten Londra'ya geçti; Dünya Siyonist Federasyonu'nun en büyük kollarından biri olan Britanya Siyonist Federasyonu 1899'da kuruldu.

1902-03 arasında Britanya Kraliyet Komisyonu, yabancı göçü üzerine ispat sunmak üzere Herzl'ı toplantıya davet etti. Bu davet, Herzl'ın Joseph Chamberlain gibi önemli Britanya Hükûmeti üyelerini tanımak için güzel bir fırsattı. Chamberlain, Britanya sömürgelerinden sorumlu devlet bakanıydı ve Herzl kendisiyle, Mısır Eyaleti'nin bir parçası olan Sina Yarımadasındaki Al-Arsh'ta, Yahudiler için bir Yahudi kolonisi kurulması hakkında müzakere etti. Rusya'daki pogromlardan kaçan Aşkenazi Yahudilerinin kaçış noktalarından biri Filistin topraklarıydı ve aynı yıl Herzl, 6. Siyonist Kongresi'nde ortaya atılan bir fikre dayanarak, Yahudi Devleti ümidi için Papa X. Pius'tan yardım almaya çalıştı. Kardinal Rafael Merry del Val, kilisenin bu konularla ilgili snon-possumus ("yapılamaz") politikası olduğunu açıkladı ve Yahudilerin, İsa'yı ilahiliğini kabul etmedikçe, Katolik Kilisesi'nin kendileri lehine bir beyânda bulunmayacaklarını ekledi.

Avrupa'da, bir yıl içinde pogromlarda 47+ Yahudi öldürüldü, yüzlercesi yara aldı ve mâl varlıkları yağmalandı. Kongredeki delegeler, Herzl'in argümanlarının doğruluğunu vurguladı. Gürültülü bir muhalif azınlık grup için Filistin yerine Uganda Planı'nı istemek, adeta bir ihanetti. Zaten başarısız olmuş olan Doğu Afrika koloni planı, Herzl'ın ölümüyle birlikte gündemden silindi (1905'te gündemden çıkarıldı). Büyük Britanya'da yine, Yahudilerin toprak ve konularını gündeminin merkezine alan bir Siyonist grup olan JTO kuruldu.

Ağustos 1903'te, Doğu Afrika planının başarısız olmasıyla birlikte Herzl, Leopold Greenberg aracılığıyla, Britanya Hükûmeti'nin teklifini aldı. Teklife göre Britanya yönetimi altında olan Britanya Doğu Afrikası'nda, geniş bir otonom Yahudi yerleşim birimi kurulacaktı. Ancak Herzl'ın içinde, Rusya problemi vardı; zira Siyonizm hareketi, Çarlık Rusya'sı tarafından hoş karşılanmıyordu. Bundan dolayı Herzl, ilk fırsatta Petersburg ile mektuplaşıp, davet hazırlattı. Dönemin Rus ekonomi bakanı Sergei Witte ve içişleri bakanı Viacheslav Plehve tarafından karşılandığı toplantıda Herzl, Rusya'daki Yahudilerin durumunu iyileştirecek önerilerini sundu. Rusların açıklamasını yayımladı ve Britanya'nın "Uganda Projesi" olarak bildiği Yahudi Devleti teklifini 1903'te Basel'de yapılan 6. Siyonist Kongreye getirdi. 1905'te 6. Siyonist Kongresi, ortak karar aldı Filistin'de kurulacak olan bir Yahudi Devleti kurmanın, Britanya'nın Doğu Afrika'sında kurmaktan daha iyi bir seçim olduğu kararını verdiler ve kararlarını kesinleştirdiler. Böylece artık hedef: Kutsal Topraklar idi; ve orası, Yahudiler için anavatan olacaktı.

Ölümü ve naaşı

Herzl, Uganda planının reddedildiğini görecek kadar yaşayamadı. 3 Temmuz 1904'te, Reichenau an der Rax, Aşağı Avusturya'da bir köy olan Edlach'ta, yılın başlarında kendisine konulan kalp teşhisinin sebep olduğu kardiyak sklerozdan öğleden sonra 5 civarı yaşamını yitirdi. Ölümünden bir gün önce William Hecler'a: "Filistin'i benim adıma selamla. Kalbimdeki son kanımı milletim için veriyorum." dedi. Herzl'in vasiyeti, düşük sınıf, içinde konuşmaların ve fazlaca çiçeklerin bulunmadığı naif bir mezarda yatmaktı.

Ayrıca Herzl, babasının yanına gömülmek istediğini de dile getirdi ve gelecek zamanlarda mezarının, Kutsal Topraklar'da kurulacak olan Yahudi Devleti'nin sınırları içerisine taşınmasını istiyordu. Cenaze naaşının arkasından 6,000'den fazla Yahudi ve Yahudi olmayan insan yürüdü; naaş, uzun ve kalabalıktı. David Wolffsohn ve oğlu Hans Herzl cenaze naaşında konuşmalar yaptılar. Daha sonra oğlu Hans Herzl Kiduş okudu. İlk mezar yeri, 1949'a kadar kalacağı Viyana oldu. 1949'dan sonra, İsrail Devleti'ni kurulmasıyla birlikte mezarı Kudüs'teki Herzl Tepesi'ne taşındı.

Aile yaşamı

Herzl'in her ikisini de tanıdığı büyükbabaları, geleneksel Yahudilikle anne ve babasından daha bağlıydı. Zemun'da yaşayan büyükbabası Simon Loeb Herzl, Judah Alkalai'nin 1857'de kaleme aldığı "Yahudiler Kutsal Topraklar'a Dönmesi ve Kudüs'ün Yenilenen İhtişamı" kitabının ilk basım orijinal ciltlerinden birine sahipti. Çağdaş bilim adamları, Herzl'in kendi modern Siyonizm uygulamasının kuşkusuz bu ilişkiden etkilendiği sonucuna varırlar. Herzl'in büyükanne ve büyükbabasının Sırbistan'ın Zemun'deki mezarları hala ziyaret edilebilir. Alkalai, Sırbistan'ın 19. yüzyılın başlarında ve ortalarında Osmanlı yönetiminden yeniden doğuşuna tanık oldu ve Sırp ayaklanmasından ve ardından Sırbistan'ın yeniden yaratılmasından ilham aldı.

25 Haziran 1889'da Herzl, Julie Naschauer ile evlendi. Naschauer, Viyana'da yaşayan zengin bir Yahudi işletmecinin kızıydı. Herzl'ın çok sevidiği annesi, eşi ile anlaşamıyordu; bu ve buna benzer sebeplerden dolayı mutlu bir birliktelikleri olmadı ancak üç çocuk sahibi oldular: Paulina, Hans ve Margharita. Evliliklerindeki zorluklar, Herzl'ın politikaya daha çok yönelmesine sebebiyet verdi, çünkü eşi politika ve benzeri alanlarla hiç ilgilenmiyordu.

Herzl'ın kızı Paulina'nın zihinsel problemi vardı ve madde bağımlılığıyla ilgili sorun yaşıyordu. 1930'da, 40'lı yaşlarındayken, eroin kullanımı sonrası aşırı dozdan öldü. Tek oğlu Hans, seküler bir şekilde büyütüldü ve Herzl, Hans'ın özellikle sünnet olmasını istemedi. Herzl'in erken ölümünden sonra, Hans din değiştirdi ve önce Baptist ve daha sonra Katolik oldu. Dini ihtiyaçlarına kişisel çözümler buluyordu. Hans Herzl, 29 Mayıs 1905'te kendi isteğiyle birit milah ile sünnet oldu. Kız kardeşi Paulina'nın 1930'daki cenaze günü, 39 yaşında, silahla intihar etti. Geride ise Hans, bir mektup bıraktı ve sebebini anlattı:

2006'ya gelindiğinde, Paulina ve Hans'ın mezar kalıntıları Fransa'dan alınıp babalarının yanına, Herzl Dağı, Kudüs'e gömüldü. Paulina ve Hans'ın, küçük kız kardeşleri Margarita (1893-1943) ile çok bağlantıları yoktu. Margarita, kendisinden 17 yaş büyük Richard Neumann'la evlendi. Neumann, mal varlığını 1929'daki Büyük Depresyon'da yitirdi ve Margherita'nın çok masraflı ve stresli hastalığından dolayı, ailenin ekonomik durumu oldukça istikrarsızdı. İkinci Dünya Harbi patlak verdi ve Naziler Margherita ve Richard'ı diğer Yahudiler gibi Theresienstadt Toplama Kampı'na gönderdi. Oğulları—Herzl'ın ise torunu—Stephan Theodor Neumann (1918, Viyana - 1946, Washington, DC), Siyonistlerin yardımı ile Avrupa anakarasından daha güvenli olduğundan dolayı Birleşik Krallık'a gönderildi. Buradaki Siyonistler, Stephan Theodor'un güvenliğini ve temel ihtiyaçlarını sağladılar. Avusturya'da olduğu süre boyunca Siyonizmle ilgili pek bir şey bilmesede Stephan, Londra'da iken genelde büyükbabası Herzl'ın davasını anlamaya çalıştı ve onun eserlerini okudu. Zamanla çok tutkulu ve koyu bir Siyonist oldu. Stephan, Herzl'ın soyundan gelmiş yaşayan tek kişiydi. İsmini ve soyismini Stephen Norman olarak değiştirip, Birleşik Krallık Ordusu'nu bir kolu olan Yahudi Lejyonu'na gönüllü katıldı. 1945 sonbaharında Filistin'e gitme fırsatı yakalayan Stephan, ajandasına büyükbabasının başlattığı bu harekete destek vermek istediğini' yazdı. Stephan ajandasına, onu en çok etkileyen şeyin çocukların yüzlerindeki özgürlük' olduğunu yazdı; "Hiçbiri Avrupa kamplarındaki çocuklara benzemiyor." dedi. İsrail topraklarından ayrılırken Stephan, şu satırları yazdı:

Norman ordudaki görevi bittiğinde İsrail'e dönmek istedi. Siyonist grubu görevlileri uzun süre Norman'ın geri dönmesiyle uğraştı. Onun dönüşü Herzl'in adına sembolik bir dönüş olarak algılanıyordu. 29 Haziran 1946 Agatha Operasyonu, bu olasılığı engelledi: İngiliz ordusu ve polisi, İsrail'i tamamen tarayarak Yahudi aktivistleri tutukladı. 2700 civarında kişi tutuklandı. 2 Temmuz 1946 tarihinde, Norman, Haifa'daki Bayan Stybovitz-Kahn'a bir mektup yazdı. Babası, Jacob Kahn, Herzl'in iyi arkadaşıydı ve savaştan önce iyi bilinen Hollandalı bir bankacıydı. Norman mektubunda gelecekte İsrail'e uzun süreli bir gezi planladığını ve bunu pasaport ve izin işleri el verdiğinide hemen yapmak istediğini ancak son iki günde olan şeylerin bu amacına yardım etmeyeceğini yazdı. İsrail'e hiç geri gitme şansı olmadı.

İngiliz Ordusu'ndan 1946 baharı sonunda terhis edilen Norman, parasızdı ve işi yoktu. Geleceği ile ilgili endişeleri var olduğundan, Doktor Selig Brodetsky'nin tavsiyesini dinledi. Brodetsky'nin ve Chaim Weizmann'ın yardımıyla kendisine Washington'da iyi bir iş bulundu ve Norman Ağustos 1946'da Amerika'ya gitti. Varmasından çok yakın bir süre sonra ailesinin başına gelenleri öğrendi. Viyana'daki eski dadısına ulaşan Norman, ailesinin yok olduğunu öğrendi ve ağır depresyona girdi . Ailesine olanlara ve Avrupa'da katlolan Yahudilerin durumuna daha fazla dayanamayan Norman, Massachusetts Bulvarı Köprüsü'nden, 26 Kasım 1946 tarihinde atladı.

Norman, Washington'da Yahudi Ajansı tarafından gömüldü. Mezar taşında, "Stephen Theodore Norman, İngiliz Kraliyet Ordusu Topçu Birliği Kaptanı, Theodor Herzl'in torunu, 21 Nisan 1918 - 26 Kasım 1946" yazdı. Norman, Herzl'in siyonist olan, İsrail'e giden ve tekrar dönmek isteyen tek torunuydu.
5 Aralık 2007 tarihinde, ölümünden tam 61 yıl sonra, Herzl Dağı'na ailesinin yanına gömüldü.
Herzl Dağı'ndaki Stephen Norman bahçesi, Theodor Herzl'den sonra bir Herzl adına yapılmış tek anıttır. Bahçenin duvarlarından birinde, Norman'ın 1946'da yaptığı İsrail ziyareti esnasında söylediği sözler yazılıdır. Bu Siyonizm'in İsrail için anlamını özetlemektedir.

"Filistin'deki Yahudi Gençlik seni şaşırtır… Özgürlüğün görüntüsünü taşımaktadırlar."

Yazıları

1895 yılı sonlarına doğru, Herzl Der Judenstaat (Yahudilerin Devleti) kitabını yazdı. Bu küçük kitap önce 14 Şubat 1896 tarihinde Almanya'nın Leipzig ve Avusturya'nın Viyana şehrinde basıldı. Kitabın üzerindeki alt başlıkta "Versuch einer modernen Lösung der Judenfrage", ("Yahudi sorusuna modern çözüm") yazıyordu. Der Judenstaat, politik Siyonizmin yapısını ve inançlarını ortaya koyuyordu.
Herzl'in çözümü, bir Yahudi devletinin kurulmasıydı. Kitabında, tarihi Yahudi Devleti'nin neden tekrar kurulması gerektiğinin nedenlerini açıkladı.
"Bu broşürde yazdığım fikir aslında çok eskidir. Yahudi Devleti'nin tekrar restore edilmesidir..."

"Kararlı faktör, bizim itici gücümüzdür. Ve nedir bu güç? Yahudilerin içinde bulundukları kötü durum… Buna çok içten bir şekilde inanıyorum fakat kanıtlandığım güne kadar yaşar mıyım? Bilmiyorum. Bugün bu hareketi başlatanların büyük bir ihtimal hiçbiri zafer gününü göremeyecek fakat, bu hareketi başlatmak bile onlara büyük gurur ve özgürlük hissi vermektedir."

"Plan tek bir kişinin üstlenmesi durumunda çılgınca gelebilir kulağa fakat birçok Yahudi aynı anda plana inanır ve destek verirse ve bu plan başarılabilecek bir plansa, başarıyla gerçekleşmesi hiç de güç olmaz. Fikir yandaşların sayısına bağlıdır. Şu an gelecekleriyle ilgili önleri her şekilde kapalı hırslı gençlerimiz, belki planı benimseyecek ve kendilerine özgür bir gelecek, mutluluk ve gurur sunan Yahudi Devleti planını gerçekleştirmek için planı yayacaklardır…"
"Bu politik dokümanın, bir politik romantizm olarak kalıp kalmaması tamamen Yahudilere bağlıdır. Eğer bu nesil bu planı idrak edemeyecek kadar kör çıkarsa, gelecekte bunu anlayabilecek daha gelişmiş  ve daha iyi bir nesil doğacaktır. Yahudi Devleti'ni kurmak isteyen Yahudiler bunu gerçekleştirebilecektir ve bunu hak edeceklerdir..."
"Yahudi sorununu, çoğu zaman farklı formlar alsa da ben ne bir sosyal ne de bir dini konu olarak görüyorum. Bu sorun bir millî sorundur ve bunu çözmek için ilk önce hepimiz sorunu uluslararası bir politik sorun olarak tanımlamalıyız ve medeni toplumlarla tartışıp çözmeye çalışmalıyız."
"Biz halkız – bir halk.

"Milli topluluklarla beraber yaşadığımız her yerde, çok samimi bir şekilde toplumlara karışmaya çalıştık ve sadece babamalarımızın dinini yaşamak istedik, fakat bu konuda bize izin verilmedi. Boş yere sadık vatanseverlik yapıyoruz, boş yere mal ve can kurban ediyoruz ve boş yere yaşadığımız yerlerde sanat ve bilim icra ediyor, ticaretle zenginleştiriyoruz. Yüzyıllarca yaşadığımız kendi  vatanımızda yabancı muamelesi görüyoruz ataları bizim olduğumuz dönemde hiçbir yerde olmayan insanlar tarafından..."
"Baskı ve zulüm bizi yok edemez. Bizim yaşadığımız zorlukları dünyada hiçbir millet yaşamadı. Zayıf olanlarımız oraya buraya savruldu…"
"Politik olarak güvende olduğumuz her yerde asimile olduk. Bu övünülesi bir şey değildir…"
"İsrail bizim tarihi ve unutulamaz anavatanımızdır…"

"Açılış sözlerimi tekrarlamama izin verin: Kendi devletini isteyen Yahudiler bunu elde edeceklerdir. Sonunda kendi topraklarımızda özgür insanlar olarak yaşayalım ve huzurlu bir şekilde evlerimizde ölelim. Özgürlüğümüzle Dünya özgürleşecek, zenginliğimizle zenginleşecek ve büyüklğümüzle yücelecektir. Ve orada kendi yararımız için ne yaparsak yapalım, insanoğlunun yararına olacaktır."

Son edebi eseri, Altneuland (Eski Yeni Vatan, 1902) Siyonizme adanmış bir romandır. Herzl, üç sene boyunca boş zamanını, 1923 yılına doğru başarılabileceğini düşündüğü ideal hakkında yazmakla geçirdi. Bir nesil boyunca, bu ideali gerçekleştirmek için neler yapılabilir konusu üzerinde duruyordu bu roman. Hikâye'nin ana konusu Siyon'a olan sevgi ve elde edilmesi için yapılacak şeylerin bir ütopya olmayıp, bir grubun idealleri için bir araya gelip çaba sarfetmesi olduğunun vurgulanmasıdır. "

Herzl, modern Yahudi kültürü ve en iyi Avrupalılık mirasının karışımının bulunduğu bir Yahudi devleti öngördü. Böylece, uluslararası anlaşmazlıkları çözmek için Kudüs'te bir "Barış Sarayı" inşa edilebilir ve aynı zamanda modern prensiplerle Tapınak tekrar inşa edilebilirdi. Herzl, kurulacak devletin vatandaşlarını dindar olarak görmedi fakat toplumda dine karşı saygı olacaktı. Ayrıca bu yeni devlette birçok dil konuşulacaktı ve İbranice ana dil olmayacaktı. Ahad Ha'am gibi, Yahudi kültürünün yeniden doğmasını ümit edenler, Altneuland'e eleştirel yaklaştılar.

Altneuland kitabında, Herzl, Araplar ve Yahudiler arasında bir savaş görmedi. Altneuland'in ana karakterlerinden birisi, Haifa'da mühendis olan, Reşid Bey, "yeni toplumun" liderlerinden biridir. Yahudi komşularından, İsrail'in ekonomik durumunu düzelttikleri için oldukça memnundur ve bir savaş için hiçbir neden görmemektedir. Bütün Yahudi olmayanlar aynı eşit haklara sahiptirler ve radikal bir hahamın, Yahudi olmayan vatandaşların haklarından mahrum etmek istemesi ve bunun seçimlerde kaybetmesi, romanın ana politik konusudur.

Herzl ayrıca gelecekteki Yahudi Devleti için kapitalizm ve sosyalizm arasında "üçüncü bir yol" öngördü. Onun planına göre, gelişmiş bir refah sistemi olacak ve doğal kaynakların özel mülkiyet haline gelmesi de mümkün olacaktı. Endüstri, tarım ve ticaret kooperatif usulüyle düzenlenecekti. Dönemin, Emma Lazarus, Louis Brandeis, Albert Einstein ve Franz Oppenheimer gibi diğer progresif Yahudileriyle aynı çizgide olarak Herzl, Amerikalı politik economist olan Henry George"un önerdiği toprak reformlarını hayata geçmiş görmek istedi. Bu isimler özellikle, toprak değeri vergisinin yürürlüğe girmesi istediler. Herzl bu karışık ekonomik modeli "Karşılıklılık" olarak adlandırdı. Bu terim Fransız sosyalist ütopyacılarından türedi. Kadınlar eşit oy verme hakkına sahip olmalıydılar.

Altneuland kitabında, Herzl, İsrail topraklarında kurulması gereken bir Yahudi devleti öngördü ve açık bir toplum vizyonunun özetledi: "… Birilerini başarılarımıza katılmaktan, kökeninden, atalarından veya dininden dolayı dışlarsak bu oldukça gayri ahlaki olur. Çünkü bizler de diğer medeni toplumların omuzlarında durmaktayız… Sahip olduğumuz her şeyi, diğer insanlara bir şekilde borçluyuz. Bu nedenle, borcumuzu ödemeliyiz. Bunu ancak bir şekilde yapabiliriz bu da en yüksek seviyede toleranslı olmaktır. Bu nedenle mottomuz şimdi ve daha sonra, "Adamım, sen benim kardeşimsin" olmalıdır.

"Eğer istersen, bir rüya değildir." Herzl'in kitabı Altneuland'daki (Eski Yeni Vatan) bu ifade, Siyonist hareketin popular bir slogan haline geldi.

Romanında Herzl, yeni devletteki bir seçim kampanyası ile ilgili yazdı. Kitapta, Yahudileri İsrail'de ayrıcalıklı sınıf yapmaya çalışan Milliyetçi Partiye karşı öfkesini yöneltti. Herzl, partinin tutumunu Siyon'a karşı ihanet olarak gösterdi. Bunun nedeni, yeni İsrail'in tolerans ve humanizm üzerine kurulmuş olmasını öngörmesiydi.

Herzl şöyle yazdı:
"Dinle ilgili konular, tamamen halkın gözünden uzak tutulmalıdır… Bir kişi sinagoglarda, kilisede, camide, sanat müzesinde ya da filarmonik orkestrada dine bağlılığını göstermek istiyorsa, bu halkı ilgilendiren bir şey olmamalıdır. Bu tamamen kendisinin kişisel meselesidir"
Altneuland hem Yahudiler hem de Yahudi olmayanlar için yazılmıştı: Herzl, Yahudi olmayanların, Siyonizm'e karşı sempatisini artırmak istiyordu.

Arjantin'i büyük sayıda Yahudi'nin göç etmesi için uygun bir konum olarak gördüğü dönemde günlüğüne şunları yazdı. "Oraya yerleştiğimizde, bizi kabul eden devlete hızlı bir şekilde fayda sağlamalıyız. Bize verilen mülkleri hassasça istimlak etmeliyiz. Sınırlar içerisindeki parasız kesime, bulunduğumuz topraklardan uzaktaki başka geçiş ülkelerinde iş bulmalıyız. Mülk sahipleri bu şekilde bizim tarafımızda olacaklardır. İstimlak sürecini ve fakir olan insanların başka yerlere yönlendirilmesi işlemi gizlice ve temkinli bir şekilde yürütülmelidir… Tabii ki başka dine mensup insanların, dinlerini, mülklerini, onurlarını ve özgürlüklerini en sert şekilde, caydırıcı kanunlarla koruma altına almalıyız. Bu dünyaya örnek olacağımız bir alan olmalıdır… Bize mülklerini satamayan mülk sahiplerini oldukları yerde bırakmalı ve bize ait olacak diğer alanlara yönelmeliyizHerzl'in hazırladığı bir anlaşmayla, Yahudi-Osmanlı Emlak Şirketi, Osmanlı İmparatorluğu'nun başka yerinde benzer bir toprak bulup, bir nevi takas usulüyle İsrail'de toprak satın almalarını sağladı.
"Tel Aviv" ismi, çevirmen Nahum Sokolow tarafından, Altneuland'in çevirisi olarak İbraniceye verildi. Sonra bu isim, Jaffa yakınlarında kurulan şehre verildi ve Tel-Aviv Yafo oldu (İsrail'in ikinci en büyük şehri). Kuzey yönde bulunan yakındaki şehre ise Herzliya adı verildi ve bunun anlamı da Herzl'in onuruydu.

Popüler kültürde
TRT 1'de 24 Şubat 2017 günü yayınlanmaya başlayan Payitaht "Abdülhamid" adlı dizide Saygın Soysal tarafından canlandırılmıştır.

Notlar

Kaynakça

1860 doğumlular
1904 yılında ölenler
19. yüzyıl Avusturyalı yazarları
20. yüzyıl Avusturyalı yazarları
Avusturyalı gazeteciler
Sırbistan Yahudileri
Siyonistler
Yahudi yazarlar
Dreyfus Olayı ile ilişkili kişiler
Siyonizm tarihi
Herzl Tepesi'nde defnedilenler
Avusturyalı ateistler

Theodor Herzl


La Ruta Estatal de California 115, y abreviada SR 115 (en inglés: California State Route 115) es una carretera estatal estadounidense ubicada en el estado de California. La carretera inicia en el Sur desde la  hacia el Norte en la . La carretera tiene una longitud de 56,7 km (35.24 mi).

Mantenimiento
Al igual que las autopistas interestatales, y las rutas federales y el resto de carreteras estatales, la Ruta Estatal de California 115 es administrada y mantenida por el Departamento de Transporte de California por sus siglas en inglés Caltrans.

Cruces
{| class=wikitable
!Localidad
!Miliario
!Destinos
!Notas
|-
|
|R3.20
|, Yuma
|Interchange
|-
|Holtville
|R7.19
|Kavanaugh Road
|
|-
|
|9.54
|
|
|-
|
|
|
|
|-
|
|bgcolor=#ddffdd|21.1721.02
|bgcolor=#ddffdd|
|bgcolor=#ddffdd|Extremo sur de la SR 78; Anteriormente CR S78 Este
|-
|
|bgcolor=#ddffdd|18.6521.18
|bgcolor=#ddffdd|
|bgcolor=#ddffdd|Extremo norte de la SR 78
|-
|
|25.99
|
|
|-
|rowspan=2|Calipatria
|35.24
|
|
|-
|35.24
|
| Continuación más allá de la SR 111

Véase también

Referencias

Enlaces externos

 Página oficial de Caltrans

 Lista de Autopistas por estado
 Lista de sitios web de carreteras para cada estado

Carreteras estatales de California
Carreteras del condado de Imperial

Ruta Estatal de California 115


O Mercedes-Benz Classe GLB é um automóvel do tipo crossover produzido pela Mercedes-Benz desde o ano de 2019, utiliza a plataforma Mercedes-Benz MFA2, a mesma também utilizada no Classe A.

Ver também
 Mercedes-Benz Classe GLA
 Mercedes-Benz Classe GLC
 Mercedes-Benz Classe GLE
 Mercedes-Benz Classe GLS

Ligações externas

 Página oficial da Mercedes-Benz Brasil

Classe GLB

Mercedes-Benz Classe GLB


Olaylar

Doğumlar
 Amr bin Hişam, ya da Ebu Cehil, Mekke'nin eski liderlerinden biri (ö. 624)

Ölümler

556