text:
User talk:Badams~enwikibooks

Welcome
Hello and welcome to Wikibooks!

Here are some tips to help you get started:
 * You can sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * Check out our help page if you need additional help.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Take a look at Naming policy
 * See list of templates which can save your time
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page.

Good luck! --Derbeth talk 10:15, 16 June 2006 (UTC)

Image copyright problem with Image:Wg 07 logo.jpg
Thanks for uploading Image:Wg 07 logo.jpg. However, the image may soon be deleted unless we can determine the copyright holder and copyright status. The Wikimedia Foundation is very careful about the images included in Wikibooks because of copyright law (see Wikibooks' Copyright policy).

The copyright holder is usually the creator, the creator's employer, or the last person who was transferred ownership rights. Copyright information on images is signified using copyright templates. The three basic license types on Wikibooks are open content, public domain, and fair use. Find the appropriate template in Image copyright tags and place it on the image page like this:.

Please signify the copyright information on any other images you have uploaded or will upload. Remember that images without this important information or giving false information can be deleted by an administrator. If you have any questions, feel free to contact me, or ask them at the Study help desk. Thank you. Derbeth talk 10:15, 16 June 2006 (UTC)

Your account will be renamed
Hello,

The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See the announcement for more information.

Unfortunately, your account clashes with another account also called Badams. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Badams~enwikibooks that only you will have. If you like it, you don't have to do anything. If you do not like it, you can pick out a different name.

Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in.

Sorry for the inconvenience.

Yours, Keegan Peterzell Community Liaison, Wikimedia Foundation 22:58, 17 March 2015 (UTC)

Renamed
 This account has been renamed as part of single-user login finalisation. If you own this account you can |log in using your previous username and password for more information. If you do not like this account's new name, you can choose your own using this form after logging in: . -- Keegan (WMF) (talk) 04:37, 19 April 2015 (UTC)

title: User talk:Badams~enwikibooks


text:
Cookbook:Stewing

In culinary terms 'stewing can best be described as slowly cooking food in its own juices with the aid of a minimum amount of moistening agent in the form of stock, wine, beer, sauce, butter etc. During cooking the liquid is flavoured by extracts from the stewed food, the result is a highly flavoured liquor or sauce which forms an integral part of the stew. Throughout this process, which is generally a lengthy one, evaporation is kept to a minimum by covering the stewing vessel with a tight fitting lid and simmering the stew on top of the stove or in the oven. Condensation, which continually forms on the inside of the lid, acts as a self basting process keeping the food moist. If the rate of evaporation is not kept to a minimum the stew will become dry and could burn. Therefore it may be necessary to add additional liquid as needed throughout the cooking period. Once cooked the liquid and food are usually served together to form the complete dish. Tougher cuts of meat may be made tender and palatable by this method. Foods for stewing are cut into small pieces or cuts before cooking and may comprise of meats, fish, vegetables and fruit. The flavour and colour of stock used will be determined on the type of meat to be cooked and the colour required of the finished dish, e.g. brown beef stew using brown beef stock. When a brown colour is required the meat and vegetables are sealed and browned in oil/dripping at a high temperature to ensure correct colour and sealing of the meat. Colour is also achieved by browning the roux and by using a brown stock. If a white coloured product is required less heat is applied to seal gently and without browning. The most suitable mediums for this process are butter and margarine. Where a roux is required it is cooked to the blond stage before being moistened with stock to effect a white colour. In some instances meats used for white stews are blanched and refreshed as a means of sealing the meat and also extracting the scum, which would otherwise discolour the resultant sauce.

Throughout cooking, items need to be checked periodically to ensure that stock levels are maintained and that food is not adhering to the base of the cooking vessel as this could result in a burnt stew. Over cooking results in unpalatable meat which breaks up, becomes stringy in texture and difficult to handle.

On completion of cooking the flavoursome liquor is adjusted for consistency. This is achieved by one of the following:
 * Reducing the sauce
 * Whisking in beurre manié, arrowroot or cornflour, and reboiling to cook the starch and effect thickening
 * Adding demi-glace, Jus lie or veloute sauce as required by the dish in question.

Stewing meats is an economical method of cooking as it allows for the use of less expensive cuts of meat.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: Cookbook:Stewing


text:
User talk:Chriswaterguy/recipes and cooking tips

Recipe site ideas
A rambling note to myself... (an idea which probably ain't so good). Perhaps we could even add a link to our user page from our favorite recipes - a section for unobtrusive signatures like this: s - then the "links here" thing would work. Or add a link to our "favorites" page - s ) - so going to our favorites page and clicking "What links here" will list our favorites - Singkong2005 11:28, 16 June 2006 (UTC)


text:
Wikibooks:How-to textbook guidelines

These are some recommended policies on the standards for How-to textbooks on Wikibooks. Many of the Wikibooks on the How-tos bookshelf were originally created on Wikipedia, and have a very non-book orientation as a result. They were often poorly written and are more of a stub about how to do a certain task. Originally these were permitted on Wikipedia, but it was felt that they were more book-like than necessarily an encyclopedia article, and as a result were moved to Wikibooks.

These guidelines are being written with an attempt to establish standards that this material can remain on Wikibooks, and are focused on these How-to books alone.

How-to textbooks should follow existing policies
All of the current guidelines that apply to all Wikibooks, as stated on What is Wikibooks, including NPOV guidelines and duplicating content on other Wikimedia projects, also apply to How-to guides. These should be educational resources worthy of being called a Wikibook.

How to guides should be textbooks
Like all Wikibooks, a How-to guide should go into depth about the topic being covered. It should be something much more than a recipe. A good how-to should include not only the steps needed to complete the task, but also information about preparation, background information about the task at hand, and tips or suggestions for improving the task.

Combining How-to Guides
Sometimes there are many individual guides that are related together, or which are all about the same general subject (fixing cars, baking, fishing, etc). These guides should probably then be combined into a single book, so that the information will be easier to find. Keep in mind that a book is not a "collection of articles", but instead should have a central narrative to tie all the pages together.

title: Wikibooks:How-to textbook guidelines


text:
Talk:Japanese/Kana/Lessons/Katakana/Lesson 9

Untitled
Whoever made the stroke order images needs to upload the correct version of ra. The image there now is not a stroke order image but a gigantic script katakana ra. Addps4cat 14:49, 16 June 2006 (UTC)

=
============== Added correct version of "Ra" ^^ Xolodilnik 10:59 PM (NZDT), Aug 30 2006.

I just wanted to make it all clear. So, there're no L in japanese. So if R is written, it should e taken as L. But what about foreign words that need R. And...what if a word, a Japanese name is written in katakana with a R. Should it be R or L???

PS. I wish to extend my greatest gratitude to whoever used Latvia as an example. THANK YOU! PALDIES! ARIGATOU! SPASIBO! DANKE! ...


text:
Haskell/Alternative and MonadPlus

In our studies so far, we saw that both  and lists can represent computations with a varying number of results. We use  to indicate a computation can fail somehow (that is, it can have either zero results or one result), and we use lists for computations that can have many possible results (ranging from zero to arbitrarily many results). In both of these cases, one useful operation is amalgamating all possible results from multiple computations into a single computation. With lists, for instance, that would amount to concatenating lists of possible results. The  class captures this amalgamation in a general way.

Definition
is a subclass of  whose instances must define, at a minimum, the following two methods:

is an applicative computation with zero results, while  is a binary function which combines two computations.

Here are the two instance definitions for  and lists:

Example: parallel parsing
Traditional input parsing involves functions which consume an input one character at a time. That is, a parsing function takes an input string and chops off (i.e. "consumes") characters from the front if they satisfy certain criteria. For example, you could write a function which consumes one uppercase character. If the characters on the front of the string don't satisfy the given criteria, the parser has failed. In the example below, for instance, we consume a digit in the input and return the digit that was parsed. The possibility of failure is expressed by using.

The guards assure that the  we are checking for is a single digit. Otherwise, we are just checking that the first character of our String matches the digit we are checking for. If it passes, we return the digit wrapped in a. Otherwise we return.

Now,  can be used to run two parsers in parallel. That is, we use the result of the first one if it succeeds, and otherwise, we use the result of the second. If both fail, then the combined parser returns. We can use  with   to, for instance, parse strings of binary digits:

Parser libraries often make use of  in this way. Two examples are  in  and   in. This usage pattern can be described in terms of choice. For instance, if we want to give  a string that will be successfully parsed, we have two choices: either to begin the string with   or with.

MonadPlus
The  class is closely related to  :

Its definition is the same as, except for different method names and the   constraint being changed into. Unsurprisingly, for types that have instances of both  and ,   and   should be equivalent to   and   respectively.

One might legitimately wonder why the seemingly redundant  class exists. Part of the reason is historical: just like  existed in Haskell long before   was introduced,   is much older than. Beyond such accidents, there are additional expectations (ones that do not apply to ) about how the   methods should interact with the , and therefore indicating that something is a   is a stronger claim than indicating that it is both an   and a. We will make some additional considerations about this issue in the following section.

Alternative and MonadPlus laws
Like most general-purpose classes,  and   are expected to follow a handful of laws. However, there isn't universal agreement on what the full set of laws should look like. The most commonly adopted laws, and the most crucial for providing intuition about, say that   and   form a monoid. By that, we mean:

There is nothing fancy about "forming a monoid": in the above, "neutral element" and "associative" here is just like how addition of integer numbers is said to be associative and to have zero as its neutral element. In fact, this analogy is the source of the names of the  methods,   and.

As for, at a minimum there usually are the monoid laws, which correspond exactly to the ones just above...

... plus the additional two laws, quoted by the documentation:

If  is interpreted as a failed computation, these laws state that a failure within a chain of monadic computations leads to the failure of the whole chain.

We will touch upon some additional suggestions of laws for  and   at the end of the chapter.

Useful functions
In addition to  and , there are two other general-purpose functions in the base libraries involving.

asum
A common task when working with  is taking a list of alternative values, e.g.   or , and folding it down with. The function, from   fulfills this role:

In a sense,  generalizes the list-specific   operation. Indeed, the two are equivalent when lists are the  being used. For Maybe,  finds the first   in the list and returns   if there aren't any.

It should also be mentioned that, available from both `Data.Foldable` and `Control.Monad`, is just   specialised to.

guard
When discussing the list monad we noted how similar it was to list comprehensions, but we didn't discuss how to mirror list comprehension filtering. The  function from   allows us to do exactly that.

Consider the following comprehension which retrieves all pythagorean triples (i.e. trios of integer numbers which work as the lengths of the sides for a right triangle). First we'll examine the brute-force approach. We'll use a boolean condition for filtering; namely, Pythagoras' theorem:

The translation of the comprehension above to a list monad do-block is:

The  function can be defined for all  s like this:

will reduce a do-block to  if its predicate is. Given the left zero law...

... an  on the left-hand side of an   operation will produce   again. As do-blocks are decomposed to lots of expressions joined up by, an   at any point will cause the entire do-block to become.

Let's examine in detail what  does in the. First, here is  defined for the list monad:

Basically,  blocks off a route. In, we want to block off all the routes (or combinations of  ,   and  ) where   is. Let's look at the expansion of the above -block to see how it works:

Replacing  and   with their definitions for the list monad (and using some let-bindings to keep it readable), we obtain:

Remember that  returns the empty list in the case of its argument being. Mapping across the empty list produces the empty list, no matter what function you pass in. So an empty list produced by the call to  in   will cause   to produce an empty list, with , which would otherwise add a result, not being actually called.

To understand why this matters, think about list-computations as a tree. With our Pythagorean triple algorithm, we need a branch starting from the top for every choice of, then a branch from each of these branches for every value of  , then from each of these, a branch for every value of. So the tree looks like this:

start |_________________________...   |    |         | z  1    2         3 |   |____     |____________    |    |    |    |       |    | x  1    1    2    1       2    3 |   |_   |    |___    |_   |    |    | |  |    | | |   | |  | y  1    1 2  2    1 2 3   2 3  3

Each combination of z, x and y represents a route through the tree. Once all the functions have been applied, the results of each branch are concatenated together, starting from the bottom. Any route where our predicate doesn't hold evaluates to an empty list, and so has no impact on this concatenation.

Relationship with monoids
While discussing the  laws above, we alluded to the mathematical concept of monoids. There is in fact already a  class in Haskell (defined in ). A thorough presentation of monoid will be given in a later chapter. However for now it suffices to say that a minimal definition of  implements two methods; namely, a neutral element (or 'zero') and an associative binary operation (or 'plus').

For example, lists form a simple monoid:

Looks familiar, doesn't it? In spite of the uncanny resemblance to  and , there is a key difference. Note the use of  instead of   in the instance declaration. Monoids are not necessarily "wrappers" of anything, or parametrically polymorphic. For instance, the integer numbers form a monoid under addition with   as neutral element. is a separate type class because it captures a specific sort of monoid with distinctive properties − for instance, a binary operation that is intrinsically linked to an   context.

Other suggested laws
Beyond the commonly assumed laws mentioned a few sections above, there are a handful of others which make sense from certain perspectives, but do not hold for all existing instances of  and. The current, in particular, might be seen as an intersection between a handful of hypothetical classes that would have additional laws.

The following two additional laws are commonly suggested for. While they do hold for both  and lists, there are counterexamples in the core libraries. Also note that, for s that are also , the   laws mentioned earlier are not a consequence of these laws.

As for, a common suggestion is the left distribution law, which holds for lists, but not for  :

Conversely, the left catch law holds for  but not for lists:

It is generally assumed that either left distribution or left catch will hold for any  instance. Why not both? Suppose they both hold. Then for any ,

This immediately rules out all but the most trivial  implementation. Even worse, it implies that for any,. Adding the monoid identity law  then implies that the monad has only one value, and is thus isomorphic to the trivial monad.

Finally, it is worth noting that there are divergences even about the monoid laws. One case sometimes raised against them is that for certain non-determinism monads typically expressed in terms of  the key laws are left zero and left distribution, while the monoid laws in such cases lead to difficulties and should be relaxed or dropped entirely.

Some entirely optional further reading, for the curious reader:

 * The Haskell Wiki on MonadPlus (note that this debate long predates the existence of ).
 * Distinction between typeclasses MonadPlus, Alternative, and Monoid? and Confused by the meaning of the 'Alternative' type class and its relationship to other type classes at Stack Overflow (detailed overviews of the status quo reflected by the documentation of the relevant libraries as of GHC 7.x/8.x − as opposed to the 2010 Haskell Report, which is less prescriptive on this matter.)
 * From monoids to near-semirings: the essence of MonadPlus and Alternative by Rivas, Jaskelioff and Schrijvers (a formulation that includes, beyond the monoid laws, right distribution and right absorption for, as well as left zero and left distribution for  ).
 * Wren Romano on MonadPlus and seminearrings (argues that the  right zero law is too strong).
 * Oleg Kiselyov on the MonadPlus laws (argues against the monoid laws in the case of non-determinism monads).
 * Must mplus always be associative? at Stack Overflow (a discussion about the merits of the monoid laws of ).

title: Haskell/Alternative and MonadPlus