text:
Talk:Haskell/Archive 1

Eager evaluation
1What's meant by an "eager" variation? I worked with functional languages for some amount of time and never heard the term. --Robert Merkel

 * I'm pretty sure it means "without lazy evaluation". --Anon.

 * That's right. --The Anome

 * Basic Lambda Calculus theory... Just read some. Eager means you are always reducing the rightmost redex. The other "simple" option (more complex options are what Explicit Substitution Calculi studies) is to always reduce the leftmost redex. This second option is guaranteed to always reduce to a Normal Form if it exists (the eager doesnt guarantee this). Lazy is a refinement of the second option where you store pointers to redexes that eventually get copied around. -- Anon —Preceding unsigned comment added by 189.11.192.130 (talk) 20:55, 14 November 2007 (UTC)

Boasting

 * "Haskell is, as of 2002, the functional language on which the most research is being performed."

Do you have a reference for this statement? --Taw

 * "It is one of the more popular functional languages"

Likewise for this unreferenced claim. —The preceding unsigned comment was added by 17.221.40.150 (talk) 00:08, 13 April 2007 (UTC).

Is it okay to remove this blatant lie? Nobody uses haskell, and this reference hardly has any relation to "the most research is being performed" 85.140.204.113 16:01, 22 July 2007 (UTC)

 * A survey of recent literature shows that Haskell syntax is widely used in functional programming research, but it is doubtful that there exists a reference that actually justifies that it is 'most used'. —Preceding unsigned comment added by 130.126.108.208 (talk) 20:59, 30 October 2007 (UTC)

 * Um... That "Nobody uses Haskell" is a blatant lie. DiscipleRaynes (talk) 06:03, 28 January 2009 (UTC)

Page move
"Haskell" can also refer to http://www.haskell.edu/, so I'm not moving this page to Haskell. --Eloquence 16:55 Jan 24, 2003 (UTC)

Code example
Not sure about the new version of the Fibonacci sequence example — it's longer than the first one and harder to read IMHO (although it is clever, I admit). Any comments on this? --Cadr

 * Which one? --Taku 16:14, Apr 6, 2004 (UTC)

 * The one using  --Cadr

 * I see this change:
 * fibs = 0 : 1 : (zipWith (+) fibs (tail fibs))
 * to
 * fibs@(_:rest) = 0 : 1 : (zipWith (+) fibs rest)
 * --Taku 16:36, Apr 6, 2004 (UTC)

 * Yes, that's the one I meant, thanks. --Cadr

I got the idea: can we present both versions on the article and discuss how they work. To be honest, I don't know how the second one works and I want to know why you said it's a clever way. The readers might be fascinated by the fact Haskell is so cool. --Taku 16:52, Apr 6, 2004 (UTC)

 * Should we do that then? There's a whole bunch of example code in the article but no explanation of what it's doing, or what it results in. For example, the fibs line above results in an infinite (lazy) list of Fibonacci numbers, something that I think would be interesting to point out. Also, we might consider using this version (which I prefer):

fib@(_:tfib) = 1 : 1 : [ (a+b) | (a,b) <- zip fib tfib ]
 * It demonstrates list comprehension, simple use of the zip function from the Prelude, and is achingly elegant IMO!

Type inference
Should this article mention Hindley-Milner type inference and the monomorphism restriction? Or is this too detailed information to be included into a encyclopedic article? --Tobias Bergemann 08:30, 2004 Nov 16 (UTC)

.NET information deletion
Why the deletion of the 'extensions' section on Hugs98 for .NET? I can't immediately see why it'd be problematic. (And there no rationale provided.) --Alai 19:36, 19 Jan 2005 (UTC)

Literate mode
On the literate programming page, someone mentioned Haskell as a language that "makes full use of literate programming". As pointed out in the Talk page there, that is not how I remember Haskell, but I'd appreciate if someone could clarify things there. --Ar 17:08, 2005 Feb 7 (UTC)

 * I can't check at the moment, but I seem to recall the GHC docs mentioning literate programming. I think it has a facility for that as well as it's C-related stuff. --195.137.47.14 00:36, 23 July 2005 (UTC)

 * The revised Haskell 98 standard document, "Haskell 98 language and libraries: the Revised Report" (2002) contains a section on literate programming. Quoting from Section 9.4 Literate Comments:

 * "The "literate comment" convention, first developed by Richard Bird and Philip Wadler for Orwell, and inspired in turn by Donald Knuth's "literate programming", is an alternative style for encoding Haskell source code. The literate style encourages comments by making them the default. A line in which ">" is the first character is treated as part of the program; all other lines are comment."
 * [...]
 * "By convention, the style of comment is indicated by the file extension, with ".hs" indicating a usual Haskell file and ".lhs" indicating a literate Haskell file."

 * I don't know if this section was already part of the original Haskell 98 standard. I am not sure if and how this should be incorporated into the Haskell entry. --Tobias Bergemann 07:55, 23 July 2005 (UTC)

Lambda calculus syntax

 * "The '.' in the above is the '.' from Lambda calculus, a core part of functional programming."

Not at all, as far as I know, and not according to our article on Lambda calculus. In Lambda calculus, '.' is used as a syntactic element in lambda abstractions. In Haskell (prelude), f. g = \ x -> f (g x), that is function composition like the "circle operator" in mathematical analysis. --Anon.

Code examples
I decided to clean up the examples section a bit, which I have now done. The factorial function now has a proper type declaration (best to do these things right...) and a line-by-line explanation.

It's been mentioned previously about explaining the methods behind some of the more involved examples shown (particularly, why the linear-time Fib sequence is so elegant). I'm not sure we should turn Wikipedia into another Haskell tutorial, but if anyone knows places off-site which explain how they work, that would be good. Opinions, anyone?

--Ithika (not yet got account) 81.131.174.201 16:59, 4 September 2005 (UTC)

 * I hope you don't mind the small tweaks I made to the function definition. --TuukkaH 17:30:29, 2005-09-04 (UTC)

 * The RPN example is indeed elegant, but probably not all that helpful to somebody trying to work out what's good and bad about Haskell --Alang

Factorial function
Since we already use the factorial function as an example, should we also link to "The Evolution of a Haskell Programmer", which provides 20+ increasingly elaborate implementations of this same function? --Tobias Bergemann 08:36, 20 October 2005 (UTC)

Re the fac example, I'm an Haskell novice, but it seems to me that the guard expression in

fac :: Integer -> Integer fac 0 = 1 fac n | n > 0 = n *fac (n-1)

serves no purpose? The zero case is handled and the only other possibility is n<0 which isn't checked for anyway...could you not replace with the following?

fac :: Integer -> Integer fac 0 = 1 fac n = n *fac (n-1)

--Jaybee 21:06, 26 April 2006

 * Well, it serves the purpose that we get to give an example of a guard. Besides, I wouldn't appreciate claiming something holds for all integers when it only holds for positive integers. And when you're running this as a program, "non-exhaustive patterns" is a nicer note that something went wrong than infinite recursion. --TuukkaH 20:45, 26 April 2006 (UTC)

 * Makes sense, thanks --Jaybee

Explanations of the examples
Can someone knowledgeable about Haskell please add some commentary to the "More Complex Examples" section, similar to what is there for the "Examples" section? The syntax is a bit abstruse for those not already familiar with the Haskell language. Kwertii 18:46, 20 February 2006 (UTC)

 * I suppose the point is that those who are intrigued by the examples can turn to the language definition and tutorials for syntax and pure functional programming in general. I don't think we can teach all in this article, but we could try to add notes on what's the point in each example and links for more info elsewhere in Wikipedia. The parallel list comprehension link will help something, algebraic data type has something on lists although they should have an article of their own, corecursion isn't very helpful for the moment. --TuukkaH 20:05, 20 February 2006 (UTC)

I've put in a bit about the linear-time Fibonacci sequence. It seemed that lazy evaluation and infinite lists were the relevant points to make about that bit of code. I don't really know what to say about the others though. The RPN calculator could, I'm sure, be written that way in most functional languages? Ithika 16:48, 11 March 2006 (UTC)

Why nobody learns Haskell
I now have some insight into Haskell, and also some insight into why it is not more popular.

Take a simple example such as fib: Hugs.Base> fibs = 0 : 1 : [ a+b | a <- fibs | b <- tail fibs ] ERROR - Syntax error in input (unexpected `=') Hugs.Base> or Prelude> fibs = 0 : 1 : [ a+b | a <- fibs | b <- tail fibs ] :1:5: parse error on input `=' Prelude>

If I can't get a simple 1-line example to run with copy and paste, I'm not likely to want to continue. After reading more books I discovered that Prelude> let fibs = 0 : 1 : (zipWith (+) fibs (tail fibs)) did indeed work (the list comprehension version doesn't work without special flags).

Why do we have examples which do not work in the standard environment? --njh 03:51, 3 January 2006 (UTC)

 * I'm not sure how relevant this discussion is to this forum, but in general, you can't expect to be able to paste code snippets into an interpreter and expect that they will work. The "fibs = whatever" definitions are legal as part of a compiled program. The interactive Hugs and GHCI require different syntax for definitions. The list comprehension version indeed doesn't work without a flag, as the article mentions: "The same function, presented with GHC's parallel list comprehension syntax:". Haskell is certainly not a language for everybody; writing Haskell programs requires attention and thought, certainly more attention than the minimal amount of attention requires to realize that Haskell interpreters require the "let" syntax for definitions and that GHC extensions have to be enabled using -fglasgow-exts. --Catamorphism 03:59, 3 January 2006 (UTC)

 * I suggest we remove the section which talks about how to get the code snippets to work in various interpreters and compilers. This is meant to be an encyclopaedia, not a tutorial. Hence, the reason for the inclusion of code examples should be to demonstrate what Haskell code looks like. Choosing a programming language at random and thinking, "what kind of language is that?" is best answered by examples on the page. But no-one goes to an encyclopaedia to learn functional programming (or they shouldn't, anyway). By way of comparison, the *ML language-family pages tend to introduce code first, then demonstrate interactive interpreters separately. Opinions? Ithika 18:52, 20 January 2006 (UTC)

 * I thought the remarks are in place; I would say that in general, you can paste code examples into an interpreter and toy with them. The definition-assignment differentiation and the let clause for monads are something that easily trick anyone wanting to have a look at the language. --TuukkaH 19:43, 20 January 2006 (UTC)

 * First I have to disagree with njh. The interpreter is not the standard environment. The 'standard environment' is putting the examples in a .hs file and then loading/running it with the interpreter. Secondly, I do not think it is the purpose of Wikipedia to explain this, as strictly speaking is not part of the Haskell language and as Wikipedia is not a how-to guide. If people want to learn Haskell from scratch, writing a Wikibook for them would be a better idea, in my opinion. Cheers, —Ruud 17:09, 28 January 2006 (UTC)

 * And second?
 * "If I can't get a simple 1-line example to run with copy and paste, I'm not likely to want to continue." The great thing about computers, the web, hypertext and Wikipedia is that you don't have to leave out important notes because they don't fit in the margin. You can copy and paste, and Haskell even has interpreters so you're able to directly try out on a computer instead of trying to evaluate in your mind. The value of the examples is much less if they're limited to appearances. I understand your fear of How-Tos, that's why I made the note into a box outside the text flow. --TuukkaH 18:10, 28 January 2006 (UTC)

 * I do not consider the "green thing" outside the text flow, on the contrary. I remain by my point that it is unencyclopedic, and that we shouldn't include it just because we can. Wikibook would be the perfect place for this, but on Wikipedia we shouldn't bother the casual reader with a implementation-specific how-to only there to satisfy the person that is to lazy to read the manual of the Haskell implementation he/she has chosen to test the examples with. (I apologize for stating it so bluntly, not being a native writing means I usually have problems with phrasing such thing more eloquently) —Ruud 18:19, 28 January 2006 (UTC)

 * For some reason, you want to be exclusive and I want to be inclusive. We gain a lot if readers can try out the examples. If you have read enough on Haskell to know why to transform the examples and how, you're not in the majority of our audience any more. "The Glasgow Haskell Compiler User's Guide, Version 6.2: 3.4.2. Using do-notation at the prompt" won't tell you what you need to know even if you're not lazy. In your latest edit and here, you don't seem to consider that we're talking about different contexts in standard Haskell. There's the declaration top level of .hs files and there's the do notation level. That's confusing. It's a de facto standard that Haskell interpreters allow only expressions and do statements, and limit them to one-liners. --TuukkaH 20:44, 28 January 2006 (UTC)

 * I'm not being exclusive, I just think such material belongs in a Wikibook, not in an encyclopedic article. Furthermore, the Haskell interpreters were never meant to accept a program from the keyboard, but always through a file, just as is the case with C, Java and Prolog. This is probably the reason why the i in GHCi stands for interactive and not interpreter. Maybe it would be better not to inform people how to transform programs so they can be typed directly in the 'interpreter' be tell them how to do it the right way, which doesn't require that much more effort. —Ruud 21:02, 28 January 2006 (UTC)

 * While Hugs and GHC are by far the most widely used compilers/interprets for Haskell, I would consider putting instructions on how to use them in this article the same as putting instructions in the C programming language article on how to execute the examples in Microsoft Visual C. —Ruud 18:25, 28 January 2006 (UTC)

 * And yet that page does indeed have some notes about getting the examples to work on different compilers (note that this is perhaps an unfair comparison as C does not, in general, have an interpreter). For example: The above program will compile correctly on most modern compilers that are not in compliance mode. However, it produces several warning messages when compiled with a compiler that conforms to the ANSI C standard. .  Furthermore, looking at Lisp programming language, Lua programming language, OCaml, Python programming language, Perl and Ruby programming language, the examples all work in the Debian provided interpreters either without further note, or with specific instructions on how to use.  It's a shame that Haskell, a language which is otherwise quite elegant, gets the interpreter so wrong.  Is there a simple explanation as to why the interpreters differ from the compiler? njh 19:51, 28 January 2006 (UTC)

 * Because you will normally only use the interpreter to test functions you have written in your source file with different parameters. This only requires a single line. Even the most simple program will require several lines which the interpreter won't accept (unless you transform the program into a single line). The normal way is to type your program in an editor, save it to a .hs file, start the interpreter with, and type   to start it. Giving the one-line hack as the first example will only mislead reader as it gives the impression that Haskell has an awkward curly-bracket style syntax, which normally does not. In this respect the interpreter might be wrong for new users but is much better suited for "real" users. For example the interpreter allows you to do more than just execute types in code, such as running the type inferencer on a specific function or browsing modules, which as far as I know th Perl interpreter won't let you. —Ruud 20:10, 28 January 2006 (UTC)

 * So the Haskell interpreters are broken as they can't deal with multiple line input? Has someone submitted a bug report on this?  I think the article should warn people that the Haskell interpreters have an awkward hack to get around their lack of multi-line editing.  Perl types are not inferred, they are attached to the variable name (in the form of @, $ etc) and set at declaration.  I'm sure that if Perl was in the least bit interested in type inference there would be a whole pile of modules and notation to deal with it...  A better example might be to compare to OCaml. njh 22:32, 6 February 2006 (UTC)

 * No, the interpreters are not broken. They require different syntax and this is well-documented in their manuals. Catamorphism 22:56, 6 February 2006 (UTC)

 * It wouldn't make any sense to allow function definitions using the ordinary syntax in a Haskell interpreter. Remember, Haskell is a static language. It's not possible to change an existing definition without recompiling the module it's in. The syntax in the interpreter is different because it's actually creating a local binding, not a definition. Cadr 22:24, 20 February 2006 (UTC)

One-line syntax for definitions
In the Examples section, there is a one-line definition for the fac function. According to Aaron McDaid, the syntax for this definition doesn't work in Hugs. It does work in Ghci. I only use Ghci and had assumed that the different interpreters used the same syntax for entering a definition in one line. If different interpreters really have different syntaxes for this, perhaps we should just get rid of the one-line example, and remove details that are specific to specific Haskell interpreters, as that would be getting rather non-encyclopedic. --Catamorphism 20:47, 1 March 2006 (UTC)

 * this is a comment I had put in another thread. It really belongs here as a response to Catamorphism
 * The second sample of code on the article was
 * let { fac 0 = 1; fac n | n > 0 = n *fac (n-1) }
 * let fac 0 = 1; fac n | n > 0 = n *fac (n-1)
 * fac 0 = 1; fac n | n > 0 = n *fac (n-1)

 * The article did say (#1), then (#3) (my version), now it's (#2) as of 20:49, 1 March 2006 (UTC).

 * I can't get either of the first (#1) or (#2) to work in hugs or runhugs, whereas (#3) does work. With (#3) I do
 * fac 5 where fac 0 = 1; fac n | n > 0 = n *fac (n-1)
 * to use it in hugs.

 * So basically, is there a portable version that'll work in as many compilers and interpreters as possible? --Aaron McDaid (talk - contribs) 20:49, 1 March 2006 (UTC)

 * The parallel list comprehension link will help something, algebraic data type has something on lists although they should have an article of their own, co-recursion isn't very helpful for the moment. --TuukkaH 20:05, 20 February 2006 (UTC)

 * I've put in a bit about the linear-time Fibonacci sequence. It seemed that lazy evaluation and infinite lists were the relevant points to make about that bit of code. I don't really know what to say about the others though. The RPN calculator could, I'm sure, be written that way in most functional languages? --Ithika 16:48, 11 March 2006 (UTC)

 * Hi guys, I was wrong in March when I said some of the one-line examples didn't work in hugs. I've been able to get them working. Basically this works in hugs let { fac' 0 = 1; fac' (n+1) = (n+1) * fac' n} in fac' 5  (Note the "in fac' 5" on the end). The only real issue with the command line hugs interpreter is that you cannot define a function in one command from the keyboard which you then use in a later command - you have to put both on one line as above. ghci,ghc, and runhugs don't have this restriction. That'll teach me not to edit pages before I know the language well :-). I'll describe a suggested edit here on the talk page later - I want to make sure hugs users can see how to get the examples working. Aaron McDaid (talk - contribs) 15:01, 9 September 2006 (UTC)

Resetting indent. This is what I'm thinking of changing near the start of the the Haskell_programming_language section:

 * ... first few lines ...
 * let { fac 0 = 1; fac n | n > 0 = n * fac (n-1) }
 * in ghci, then type this to run the function and see the output 120
 * fac 5
 * In hugs, you need to enter the function definition on the same line where you call it to get the same result:
 * let { fac 0 = 1; fac n | n > 0 = n * fac (n-1) } in fac 5

I'll wait a while before making this change. Thanks in advance for any feedback. I suppose we don't want to turn this into a full user manual for hugs and ghc(i) Aaron McDaid (talk - contribs) 15:24, 9 September 2006 (UTC)

Infobox
Is the infobox correct in asserting that there are no dialects of Haskell? Then why the difference between '98 and all the others? —The preceding unsigned comment was added by Marudubshinki (talk • contribs) 21:48, 11 April 2006 (UTC2)

Unclear criticism
This really needs to be clarified:
 * Haskell has many advanced features not found in other programming languages; these features can and have been criticized for making the language more complex and difficult to understand.

As it stands suggests that the problem is that Haskell has differences from other languages and that the critic simply wants to suppress diversity. This would not be rational criticsm, because it suggests that the ideal is that only one unique language exist. The problem may have been misphrased to avoid the real criticsm, or it may have been included without there being any real merit behind it. --ToobMug 01:37, 24 April 2006 (UTC)

 * I think the key modifier is "advanced" (monads, anyone?). I agree that the formulation needs to be made more precise. Fredrik Johansson 06:33, 24 April 2006 (UTC)

"A History of Haskell" paper
Simon Peyton Jones, Paul Hudak, John Hughes, and Philip Wadler are currently working on a paper describing the history of Haskell. This paper is currently in draft state, but will be submitted to the History of Programming Languages conference (HOPL'07) once it is finished. The draft is publically available and already is a very valuable source of information. — Tobias Bergemann 09:55, 4 August 2006 (UTC)

Requested move
Haskell programming language → Haskell (programming language) – Conformance with WP naming conventions LotLE × talk

 * I've just moved it as per the decision below, and fixed up the double redirects. Aaron McDaid (talk - contribs) 11:37, 11 September 2006 (UTC)

 * The discussion preceeding the move can be found at Wikipedia talk:WikiProject Programming languages/Renaming poll.

delete wxHaskell?
I recently started an article for wxHaskell, one of the many bindings for WxWidgets. It has been nominated for deletion as it "Does not assert notability". Please have a look at it and improve it if possible, especially if you are a fan of wxHaskell. Aaron McDaid (talk - contribs) 13:33, 11 September 2006 (UTC)

confusing sentence
"This sentence does not make much sense: he Glasgow Haskell Compiler compiles to native code on a number of different architectures—as well as to ANSI C—using C-- as an intermediate language." --using c-- ?? 128.12.108.147 13:12, 4 March 2007 (UTC)

 * This is an old question but I figured I'd jump on it. This is a fairly standard approach to handle compilation.  Write a generic: Language X -> C translator and then use a platform specific C compiler handle C -> platform specific instruction code. See P-code machine for a more broad based discussion jbolden1517Talk  18:58, 31 March 2009 (UTC)

Concurrent Haskell
What's the status of Concurrent Haskell? I've found this reference:

PEYTON JONES, S., GORDON, A., AND FINNE, S. Concurrent Haskell. In 23rd ACM Symposium on Principles of Programming Languages (POPL’96), pp. 295–308.

and it's also recently described in Composable Memory Transaction, 2006.

Bartosz 01:55, 7 March 2007 (UTC)

is non-kludgy way to implement the type schema Z/mZ (m integer >1)
Say in haskell I wanted to implement the types Z/mZ i.e. "integers mod m" for all integeres m>1. Naturally I'd want to implement the arithmetic operator / for these types. Context: In 1992-3 I faced this prob while writing haskell code for smith reduction for all integral domains where it makes sense. (Which in turn was part of a homological-algebra package). The best I could do was to define a single type Zmod, and replace the binary operator \a \b a/b by a ternary function \a \b \m "a/b mod m". Which meant that even for the integer type, I had to replace (/) by that ternary function and pass it a dummy argument that it ignored.

Was I missing something then? Is there in newer haskell versions a way to define type schemas? (ie nonconstant type-valued functions of at least one argument). [I suppose not - is Type yet a Type in Haskell?] Or at least to do the stuff mentioned in the above paragraph in a less kludgy way? I guess not - types are untermenschen in haskell, subject to compulsory type checks which had better be "finite" - "infinite" type checking being "inefficient" - so e.g. you cannot write the fixedpoint operator named after Haskell Curry in the language named after Haskell Curry. (nor can you write the noniterative nonrecursive factorial program that works by passing a function as an argument to itself, 'cause that function would have "infinite" type. —The preceding unsigned comment was added by 59.93.195.26 (talk) 03:51, 29 March 2007 (UTC).

 * This isn't the right place for programming advice, so email for follow up. What it sounds like you want is .  jbolden1517Talk  13:19, 29 March 2007 (UTC)

Pronunciation
Perhaps a pronounciation ought to be given? I suspect it's probably pronounced as the last name of "Beaver" Cleaver's buddy Eddie, but in my head it always sounds closer to Pascal (programming language). --Belg4mit 18:37, 7 April 2007 (UTC)

 * I don't know. I'd also be interested in seeing an IPA-pronunciation. Wikitionary or Dictionary.com don't give pronunciation on this entry either. I'd hereby like to invite a knowledgable fellow wikipedian to help. --Netizen (talk) 08:04, 24 June 2009 (UTC)

Code examples
Heh, whatever. These code examples are all taken from some sort of freshman Haskell course and are nothing like Haskell code looks like out there in the wild. I note my attempt to add such an example and clean up the current mess has been summarily reverted. —The preceding unsigned comment was added by 193.77.153.149 (talk) 11:43, 11 May 2007 (UTC).

 * I thought your example was a good one. I said as much.  I think it would be useful for wikibooks.  But it involved several complex ideas and it was highly monadic.  Moreover you deleted other examples.  jbolden1517Talk  11:47, 11 May 2007 (UTC)
 * Ooooo Monads, those are so scary, don't you think so? I thought about mentioning uns*fePe**orm*O, but thankfully I regained my senses and removed it. God forbid we show Haskell is good for anything but producing Fibonacci numbers, a computing concept so important it obviously has to be demonstrated in several slightly different but equivalent ways. Similarly we should keep the verbose idiocy about how to get the examples running in Hugs and ghci because obviously various people come here and we should really aim for the lowest common denominator persons. —The preceding unsigned comment was added by 193.77.153.149 (talk) 12:41, 11 May 2007 (UTC).

If you would like to discuss this: jbolden1517Talk 13:23, 11 May 2007 (UTC)
 * 1) Get an account
 * 2) Sign your posts with 4~ 's
 * 3) Lose the tone of superiority.
 * Who made you king of Wikipedia that you may make demands in such a manner? —The preceding unsigned comment was added by 193.77.153.149 (talk) 17:27, 11 May 2007 (UTC).
 * I'm not sure if he's actually the King of Wikipedia, but his demands (at least the last two) reflect established Wikipedia policies. See WP:TALK, and for both points, and specifically WP:CIVIL for #3. As for the first demand, it's a bit easier for you to carry on discussion if you have an account, but you're certainly welcome to remain anonymous. Staecker 17:43, 11 May 2007 (UTC)

'Influenced: Python'
I don't really see what aspects of Python are owed in particular to Haskell. Perhaps lazy streams, but is there any evidence that it did so directly? Jogloran 13:14, 13 May 2007 (UTC)

 * From the Python page: Python 2.0 borrowed a major feature from the functional programming language Haskell: list comprehensions. 90.4.118.238 05:44, 24 May 2007 (UTC)

Multiple dispatch?
Would you folks say that Haskell supports multiple dispatch? If so, could you update that article? I'm not too sure. It was this section of that article that piqued my curiousity:
 * (from multiple dispatch) ''"In languages with multiple dispatch, all the arguments are treated symmetrically in the selection of which method to call. Matching recognizes first, second, third, etc. position within the call syntax, but no one argument "owns" the function/method carried out in a particular call."

One of the things I like about Haskell is that it supports (something like) the above. In Haskell, the first argument isn't special, and typeclasses can be used on any argument:
 * meth :: (A a, B b) => x -> a -> b

Aaron McDaid (talk - contribs) 17:20, 16 December 2007 (UTC)

Single and multiple dispatch are both forms of dynamic dispatch. They come out of the object oriented world where the function (method) to be dispatched to is unknowable until runtime (hence the "dynamic"). In Haskell type classes the choice of function is made statically. As such, the terminology used by Haskellers to describe that kind of behavior is "overloading" and shares more similarities with the statically bound overloading available in languages like C++ and Java than the multiple dispatch of Common Lisp and Dylan or the dynamic single dispatch overriding of C++/Java. One major (and crucial) difference between Haskell type class overloading and C++/Java overloading is that in Haskell the choice of which overloaded function is called may depend on nothing more than the static type of the result. In C++/Java the choice of overloaded method depends on the static types of the parameters only. See the article on monads in functional programming - different unit functions must be chosen based entirely on the expected return type. —Preceding unsigned comment added by 24.94.4.15 (talk) 14:14, 8 February 2008 (UTC)

Influence on Java
I'm not sure that Java generics rise to the level of an influence from Haskell. True, there is the Philip Wadler connection, but IMHO Java's generics are just a form of parametric polymorphism (which pre-dates Haskell, e.g., in ML and Miranda) with the syntactic flavor of C++ templates. Clconway (talk) 23:22, 4 January 2008 (UTC)

Working examples, please
I downloaded GHCi from haskell.org, tried the examples on the Wikipedia page, and found most of them didn't work. This is hugely confusing. One of the examples with "let" that's recommended for Hugs worked for me, which is also confusing since I'm not running Hugs, and the page says GHCi doesn't have that restriction.

I see from the comments above that this problem has come up before. I respectfully suggest that the examples should work with the standard Haskell system. Billgordon1099 (talk) 05:46, 7 June 2008 (UTC)

 * It can be very confusing for a beginner. When defining a function an GHCi, one must write, for example, "let foo x = x * x", all in one line. You could then use "foo" wherever you like. For testing, I recommend writing all functions in a file, loading that file with GHCi using ":l file.hs", then testing the functions from there. --Kinghajj (talk) 15:06, 15 September 2008 (UTC)

the long-term forthcoming

 * an implementation for the long-term forthcoming Perl 6 language

What does this mean? Regards, Ben Aveling 08:59, 7 September 2008 (UTC)
 * It means it's been under development for a long time.—greenrd (talk) 14:33, 7 September 2008 (UTC)
 * Yes, I see. The English could be tweaked a bit.  What about:
 * Haskell has been used in a number of high profile projects, including: Audrey Tang's Pugs, a long awaited implementation of Perl 6; GHC, a testbed for advanced functional programming features and optimizations; the revision control system Darcs; Linspire GNU/Linux's system tools ; Xmonad, a window manager for the X Window System; and Bluespec SystemVerilog, a language for semiconductor design that is an extension of Haskell, and is implemented in Haskell.
 * Regards, Ben Aveling 12:04, 8 September 2008 (UTC)

SPJ replies to our (old) criticism section
Interesting reading; see the original question and answer and related followup. Do we merge these into the article? --Gwern (contribs) 23:18 19 September 2008 (GMT)

Lead section
I am a bit nervous about the following recent addition to the lead section: "An open source product of more than twenty years of cutting edge research, it allows rapid development of robust, concise, correct software. With strong support for integration with other languages, built-in concurrency and parallelism, debuggers, profilers, rich libraries and an active community, Haskell allows for the production of flexible, maintainable high-quality software." This text was apparantly copied and pasted from http://www.haskell.org/. While I basically agree with the text, I feel that as written it does sound too much like marketing speech, and I was tempted to revert the edit. Maybe the text could be rephrased or at least supplemented with appropriate references? — Tobias Bergemann (talk) 08:10, 21 October 2008 (UTC)
 * It is taken directly from the official site, and so it a copyright violation, which means it should be deleted with extreme prejudice. Staecker (talk) 11:42, 21 October 2008 (UTC)
 * The official site http://www.haskell.org/ is a wiki with a simple permissive license which does not even require attribution:
 * "Permission is hereby granted, free of charge, to any person obtaining this work (the "Work"), to deal in the Work without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Work, and to permit persons to whom the Work is furnished to do so."
 * I am more concerned about the phrasing than the licensing. However, as you have already reverted the edit (thanks), this has become irrelevant. — Tobias Bergemann (talk) 15:07, 21 October 2008 (UTC)
 * You're right- thanks. I agree it is inappropriate language in any case. Staecker (talk) 17:19, 21 October 2008 (UTC)

Point-free programming application
The latest addition to the article suggests that mapReduce could be simplified from 1) to 2)

1) mr takes a list, applies a function to it and then reduces the elements based on a criterion mr criteria operator list = reduce criteria (map operator list)

which can be expressed point-free as 2)

mr = (. map). (.) . reduce

--Ancheta Wis (talk) 18:15, 31 March 2009 (UTC)

 * That was me. Was that a point of interest or did you have a question/comment/concern or...?  jbolden1517Talk  18:53, 31 March 2009 (UTC)

 * Not a concern, rather a talking point for the inherent efficiency of higher order functions to show how it is more expressive than our current popular programming languages. Perhaps such an example could be a poster child for the language. --Ancheta Wis (talk) 22:21, 31 March 2009 (UTC)
 * I neglected to say: Well Done, JBolden! Thank you for your contribution to the encyclopedia. --Ancheta Wis (talk)

Well thank you! Nice to hear you like. Yeah I got a kick out of that one when I worked it out the first time. The one that made a convert out of me was the Eight queens puzzle solutions: queens :: Int -> Int queens n = map reverse $ queens' n   where queens' 0       = queens' k      = [q:qs | qs <- queens' (k-1), q <- [1..n], isSafe q qs] isSafe  try qs = not (try `elem` qs || sameDiag try qs) sameDiag try qs = any (\(colDist,q) -> abs (try - q) == colDist) $ zip [1..] qs

I saw that solution and it got me to learn Haskell. Look at those C#/Java/Python solutions comparatively, talk about a mound of boilerplate. Wikipedia has haskell/FP versions all over the place, I personally think this trend is likely to start selling people on FP, at least I hope jbolden1517Talk  02:28, 1 April 2009 (UTC)

Removed goal
I've removed the goal from the article because it's of little use to people who don't know Haskell (or to those that do) and it's POV too. What if I opened the article about Java and discovered (written with 'we' to show my point):

 * Java is an advanced programming language and we've got an active community, lots of rich libraries, excellent integration with other languages and if you use Java, you'll experience rapid development and your software will be robust, concise and correct. Oh, and did we mention the joys of cutting-edge research for twenty years?

It may all be factually correct for Haskell and it should all be in the article but not by repeating the project's goals: after reading the article, the reader should be able to conclude whether this holds or not. Simeon (talk) 15:54, 5 April 2009 (UTC)

 * Java actually has such a section Java (programming language). jbolden1517<sup style="color:darkgreen;">Talk  16:44, 5 April 2009 (UTC)

 * Ok, but in a philosophy section it's more acceptable than using it as main introduction in an article. I must say I didn't check the Java article, I also could have used language X as I just meant an arbitrary language. - Simeon (talk) 16:53, 5 April 2009 (UTC)

Perhaps the goals could be re-instated with a balancing sentence, such as "For twenty years, the strategy was to 'avoid success at all costs' until the language proved it had begun to meet the goals". The language has been supported in the academic setting, using a manageable number of programmers, which allowed the development of libraries, proven integration with other languages using the Foreign Function Interface and gcc. Theoretical proofs of the correctness of programs was aided by Haskell's close similarity to mathematical notation. The dangers of side-effecting I/O for lazy languages were isolated to monadic I/O. ... --Ancheta Wis (talk) 22:24, 5 April 2009 (UTC)

Being more serious I think this should go in a lower section. Also I think we should use the 5 design goals from the haskell 98 report (since those are "official): Beyond that I think the rest of what was in the goals section are characteristics.  For example lazy and pure.  jbolden1517<sup style="color:darkgreen;">Talk  01:06, 6 April 2009 (UTC)
 * 1) It should be suitable for teaching, research, and applications, including building large systems.
 * 2) It should be completely described via the publication of a formal syntax and semantics.
 * 3) It should be freely available. Anyone should be permitted to implement the language and distribute it to whomever they please.
 * 4) It should be based on ideas that enjoy a wide consensus.
 * 5) It should reduce unnecessary diversity in functional programming languages.

for loop
I'm having a tough time seeing how the new for loop example teaches anything. This looks like a slow complex implementation of map to me. Does anyone disagree? jbolden1517<sup style="color:darkgreen;">Talk 20:31, 26 April 2009 (UTC)

Syntax highlighting
The syntax highlighting in the code examples looks horrible. It's distracting, makes the examples hard to read, and draws too much attention to some irrelevant details. Furthermore, one-line examples without indentation look too much like short paragraphs of normal text. The general idea of having syntax highlighting might be ok, but the current implementation is so bad that I strongly suggest that we revert back to the version that uses simply "code"-blocks. — Miym (talk) 11:46, 26 June 2009 (UTC)

 * Borders and gray background have now been reinstated, restoring much of the lost readability in my eyes. However, I myself would prefer not to use syntax highlighting at all for code examples in wikipedia articles as I find it distracting outside of a code editor. — Tobias Bergemann (talk) 08:58, 1 July 2009 (UTC)

No clear structure
It is not clear to me that this article has an overall structure or theme. Here's a draft attempt to plan a rewrite of the Haskell article, to give a comprehensive account of the language http://haskell.org/haskellwiki/WikipediaArticleDesign Dons00 (talk) 23:05, 2 August 2009 (UTC)

Please comment.
 * Moved this section to foot of the page. It is customary to keep talk in temporal order. --Ancheta Wis (talk) 23:13, 2 August 2009 (UTC)

 * I've made a start on this over at User:Simonmar/Haskell_(programming_language). So far I've only added an overview section.  Hack away, and let's clean up this article. Simonmar (talk) 22:58, 2 December 2009 (UTC)

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

title: Talk:Haskell/Archive 1


text:
Harmonic series (music)

A harmonic series (also overtone series) is the sequence of harmonics, musical tones, or pure tones whose frequency is an integer multiple of a fundamental frequency.

Pitched musical instruments are often based on an acoustic resonator such as a string or a column of air, which oscillates at numerous modes simultaneously. At the frequencies of each vibrating mode, waves travel in both directions along the string or air column, reinforcing and canceling each other to form standing waves. Interaction with the surrounding air causes audible sound waves, which travel away from the instrument. Because of the typical spacing of the resonances, these frequencies are mostly limited to integer multiples, or harmonics, of the lowest frequency, and such multiples form the harmonic series.

The musical pitch of a note is usually perceived as the lowest partial present (the fundamental frequency), which may be the one created by vibration over the full length of the string or air column, or a higher harmonic chosen by the player. The musical timbre of a steady tone from such an instrument is strongly affected by the relative strength of each harmonic.

Partial, harmonic, fundamental, inharmonicity, and overtone
A "complex tone" (the sound of a note with a timbre particular to the instrument playing the note) "can be described as a combination of many simple periodic waves (i.e., sine waves) or partials, each with its own frequency of vibration, amplitude, and phase". (See also, Fourier analysis.)

A partial is any of the sine waves (or "simple tones", as Ellis calls them when translating Helmholtz) of which a complex tone is composed, not necessarily with an integer multiple of the lowest harmonic.

A harmonic is any member of the harmonic series, an ideal set of frequencies that are positive integer multiples of a common fundamental frequency. The fundamental is a harmonic because it is one times itself. A harmonic partial is any real partial component of a complex tone that matches (or nearly matches) an ideal harmonic.

An inharmonic partial is any partial that does not match an ideal harmonic. Inharmonicity is a measure of the deviation of a partial from the closest ideal harmonic, typically measured in cents for each partial.

Many pitched acoustic instruments are designed to have partials that are close to being whole-number ratios with very low inharmonicity; therefore, in music theory, and in instrument design, it is convenient, although not strictly accurate, to speak of the partials in those instruments' sounds as "harmonics", even though they may have some degree of inharmonicity. The piano, one of the most important instruments of western tradition, contains a certain degree of inharmonicity among the frequencies generated by each string. Other pitched instruments, especially certain percussion instruments, such as marimba, vibraphone, tubular bells, timpani, and singing bowls contain mostly inharmonic partials, yet may give the ear a good sense of pitch because of a few strong partials that resemble harmonics. Unpitched, or indefinite-pitched instruments, such as cymbals and tam-tams make sounds (produce spectra) that are rich in inharmonic partials and may give no impression of implying any particular pitch.

An overtone is any partial above the lowest partial. The term overtone does not imply harmonicity or inharmonicity and has no other special meaning other than to exclude the fundamental. It is mostly the relative strength of the different overtones that give an instrument its particular timbre, tone color, or character. When writing or speaking of overtones and partials numerically, care must be taken to designate each correctly to avoid any confusion of one for the other, so the second overtone may not be the third partial, because it is the second sound in a series. Some electronic instruments, such as synthesizers, can play a pure frequency with no overtones (a sine wave). Synthesizers can also combine pure frequencies into more complex tones, such as to simulate other instruments. Certain flutes and ocarinas are very nearly without overtones.

Frequencies, wavelengths, and musical intervals in example systems
One of the simplest cases to visualise is a vibrating string, as in the illustration; the string has fixed points at each end, and each harmonic mode divides it into an integer number (1, 2, 3, 4, etc.) of equal-sized sections resonating at increasingly higher frequencies. Similar arguments apply to vibrating air columns in wind instruments (for example, "the French horn was originally a valveless instrument that could play only the notes of the harmonic series" ), although these are complicated by having the possibility of anti-nodes (that is, the air column is closed at one end and open at the other), conical as opposed to cylindrical bores, or end-openings that run the gamut from no flare, cone flare, or exponentially shaped flares (such as in various bells).

In most pitched musical instruments, the fundamental (first harmonic) is accompanied by other, higher-frequency harmonics. Thus shorter-wavelength, higher-frequency waves occur with varying prominence and give each instrument its characteristic tone quality. The fact that a string is fixed at each end means that the longest allowed wavelength on the string (which gives the fundamental frequency) is twice the length of the string (one round trip, with a half cycle fitting between the nodes at the two ends). Other allowed wavelengths are reciprocal multiples (e.g. $1/2$, $1/3$, $1/4$ times) that of the fundamental.

Theoretically, these shorter wavelengths correspond to vibrations at frequencies that are integer multiples of (e.g. 2, 3, 4 times) the fundamental frequency. Physical characteristics of the vibrating medium and/or the resonator it vibrates against often alter these frequencies. (See inharmonicity and stretched tuning for alterations specific to wire-stringed instruments and certain electric pianos.) However, those alterations are small, and except for precise, highly specialized tuning, it is reasonable to think of the frequencies of the harmonic series as integer multiples of the fundamental frequency.

The harmonic series is an arithmetic progression (f, 2f, 3f, 4f, 5f, ...). In terms of frequency (measured in cycles per second, or hertz, where f is the fundamental frequency), the difference between consecutive harmonics is therefore constant and equal to the fundamental. But because human ears respond to sound nonlinearly, higher harmonics are perceived as "closer together" than lower ones. On the other hand, the octave series is a geometric progression (2f, 4f, 8f, 16f, ...), and people perceive these distances as "the same" in the sense of musical interval. In terms of what one hears, each octave in the harmonic series is divided into increasingly "smaller" and more numerous intervals.

The second harmonic, whose frequency is twice the fundamental, sounds an octave higher; the third harmonic, three times the frequency of the fundamental, sounds a perfect fifth above the second harmonic. The fourth harmonic vibrates at four times the frequency of the fundamental and sounds a perfect fourth above the third harmonic (two octaves above the fundamental). Double the harmonic number means double the frequency (which sounds an octave higher).

Marin Mersenne wrote: "The order of the Consonances is natural, and ... the way we count them, starting from unity up to the number six and beyond is founded in nature." However, to quote Carl Dahlhaus, "the interval-distance of the natural-tone-row [ overtones] [...], counting up to 20, includes everything from the octave to the quarter tone, (and) useful and useless musical tones. The natural-tone-row [harmonic series] justifies everything, that means, nothing."

Harmonics and tuning
If the harmonics are octave displaced and compressed into the span of one octave, some of them are approximated by the notes of what the West has adopted as the chromatic scale based on the fundamental tone. The Western chromatic scale has been modified into twelve equal semitones, which is slightly out of tune with many of the harmonics, especially the 7th, 11th, and 13th harmonics. In the late 1930s, composer Paul Hindemith ranked musical intervals according to their relative dissonance based on these and similar harmonic relationships.

Below is a comparison between the first 31 harmonics and the intervals of 12-tone equal temperament (12TET), octave displaced and compressed into the span of one octave. Tinted fields highlight differences greater than 5 cents ($2$ of a semitone), which is the human ear's "just noticeable difference" for notes played one after the other (smaller differences are noticeable with notes played simultaneously).

The frequencies of the harmonic series, being integer multiples of the fundamental frequency, are naturally related to each other by whole-numbered ratios and small whole-numbered ratios are likely the basis of the consonance of musical intervals (see just intonation). This objective structure is augmented by psychoacoustic phenomena. For example, a perfect fifth, say 200 and 300 Hz (cycles per second), causes a listener to perceive a combination tone of 100 Hz (the difference between 300 Hz and 200 Hz); that is, an octave below the lower (actual sounding) note. This 100 Hz first-order combination tone then interacts with both notes of the interval to produce second-order combination tones of 200 (300 − 100) and 100 (200 − 100) Hz and all further nth-order combination tones are all the same, being formed from various subtraction of 100, 200, and 300. When one contrasts this with a dissonant interval such as a tritone (not tempered) with a frequency ratio of 7:5 one gets, for example, 700 − 500 = 200 (1st order combination tone) and 500 − 200 = 300 (2nd order). The rest of the combination tones are octaves of 100 Hz so the 7:5 interval actually contains four notes: 100 Hz (and its octaves), 300 Hz, 500 Hz and 700 Hz. The lowest combination tone (100 Hz) is a seventeenth (two octaves and a major third) below the lower (actual sounding) note of the tritone. All the intervals succumb to similar analysis as has been demonstrated by Paul Hindemith in his book The Craft of Musical Composition, although he rejected the use of harmonics from the seventh and beyond.

The Mixolydian mode is consonant with the first 10 harmonics of the harmonic series (the 11th harmonic, a tritone, is not in the Mixolydian mode). The Ionian mode is consonant with only the first 6 harmonics of the series (the seventh harmonic, a minor seventh, is not in the Ionian mode). The Rishabhapriya ragam is consonant with the first 14 harmonics of the series.

Timbre of musical instruments
The relative amplitudes (strengths) of the various harmonics primarily determine the timbre of different instruments and sounds, though onset transients, formants, noises, and inharmonicities also play a role. For example, the clarinet and saxophone have similar mouthpieces and reeds, and both produce sound through resonance of air inside a chamber whose mouthpiece end is considered closed. Because the clarinet's resonator is cylindrical, the even-numbered harmonics are less present. The saxophone's resonator is conical, which allows the even-numbered harmonics to sound more strongly and thus produces a more complex tone. The inharmonic ringing of the instrument's metal resonator is even more prominent in the sounds of brass instruments.

Human ears tend to group phase-coherent, harmonically-related frequency components into a single sensation. Rather than perceiving the individual partials–harmonic and inharmonic, of a musical tone, humans perceive them together as a tone color or timbre, and the overall pitch is heard as the fundamental of the harmonic series being experienced. If a sound is heard that is made up of even just a few simultaneous sine tones, and if the intervals among those tones form part of a harmonic series, the brain tends to group this input into a sensation of the pitch of the fundamental of that series, even if the fundamental is not present.

Variations in the frequency of harmonics can also affect the perceived fundamental pitch. These variations, most clearly documented in the piano and other stringed instruments but also apparent in brass instruments, are caused by a combination of metal stiffness and the interaction of the vibrating air or string with the resonating body of the instrument.

Interval strength
David Cope (1997) suggests the concept of interval strength, in which an interval's strength, consonance, or stability (see consonance and dissonance) is determined by its approximation to a lower and stronger, or higher and weaker, position in the harmonic series. See also: Lipps–Meyer law.

Thus, an equal-tempered perfect fifth is stronger than an equal-tempered minor third, since they approximate a just perfect fifth  and just minor third , respectively. The just minor third appears between harmonics 5 and 6 while the just fifth appears lower, between harmonics 2 and 3.

title: Harmonic series (music)


text:
Talk:Historical materialism

Hm?
I don't really have any serious objection to the content of this page -- sometimes it is a bit vague, but in general pretty good. But I do find it a little strange for two reasons: first, it reproduces a lot of material in other related articles, espeically Marxism and Karl Marx. If "historical materialism" is synonymous with "dialectical materialism" and "marxism" then I think there should be one page, and other pages should link to it. If, on the other hand, "historical materialism" is more specific, the article needs to distinguish it from "dialectical materialism" and explain how it is one part but not the entirety of "marxism." My second query follows from this -- assuming that "historical materialism" deserves its own article, I would expect a much lengthier explanation of Marx's debt to/differences from Hegel's historicism. I am not qualified to contribute, as I have not read a lot of Hegel directly. (But I assume that an author of this article is someone who has read a lot of Marx and Hegel). I would also expect more discussion of Marx's historical works like the 18th Brumaire or Engels work on the peasant wars in Germany. I would expect a discussion of the relationship between Marx's historicism (expresed in those books) and his ideas about progress or evolution, and his debt to Morgan, SR

I am pretty sure Marx wasn't a materialist. I believe David Harvey said this in his first lecture on the second part of Marx's Capital. The quote was something like : Production not only dominates over itself, also over the other moments(Which includes distribution). Since production of surplus value depends on the social relations of the classes, everything is determined by the social-relations.

<---I don't want to mess anything up so I would appreciate it if someone else took the time to do so.

I agree with many of the sentiments above. There appears to be an attempt to sum up marxism, Capital, Value Theory, Uncle Tom Cobbley and all under this one topic. Historical materialism is a methodological stance, not the actual workings-out of a given philosopher. There also appear to be controversial interpretations presented as fact: point 7 in the list is strictly speaking a theory due to Lenin, only indirectly due to Marx ... and the presentation of commodity fetishism (which is arguably out of place here) is one-sided. If no-one objects, I'll have a pop at rewriting this entry in a few weeks. Adhib

Given that there were no objections, I have made the necessary (quite harsh) cuts, and added one quote which illustrates the meaning of this specific topic. Adhib 19:31, 18 Feb 2004 (UTC)

I have an objection! Presenting the technological-determinist interpretation of Marx's work as if it is the only one is fundamentally dishonest. There is a very long tradition of an anti-determinist reading that accords primacy to the *relations of production* rather than the forces of production. The article should, perhaps, reflect this?!

Lorenzo
 * he was a materialist..it`s central to his philosophy that`s the pointLonepilgrim007

There are some very serious problems with this page. The determinist reading is very specific to Soviet Marxism, and hardly indicative of what Marx wrote. There is a vast amount of scholarship that addresses the philosophy of historical materialism in depth (e.g. Tony Smith, Ellen Wood, etc.), which needs to be brought in to explain this topic better, and bring it more in line with contemporary Marxist thought. --2600:8806:2500:E00:D530:39FA:7B8B:1B10 (talk) 05:36, 5 November 2017 (UTC)

I think this page includes a confusion of points which make it quite hard to understand what Marx's theory of history is all about. In no particular order 1. insufficient acknowledgement of Hegel in shaping Marx's views 2. unhelpful over emphasis on other derivations of HM e.g. Polanyi, Stalin (!) and spiral dynamics and so on 3. however, it would be helpful to bring some of the more recent developments of HM post war briefly into the discussion 4. and maybe try and use a more accessible approach to the language / concepts used 5. probably worth referencing the transition from feudalism to capitalism as this forms a big part of the Communist Manifesto - but is the extended discussion on the communist mode of production relevant - not sure 6. some of the quotes are way too long 7. summary works well and could be a template for the page Daickin (talk) 15:03, 6 January 2022 (UTC)

Class struggle as the 'motor' of history
My understanding of the Marxist approach to history is that class struggle is the motor that drives history and the result of this struggle is not predetermined. I will need to do more reading and thinking before contributing.....so little time! John Ball16.40 30/6/04

My understanding of dialectical materialism is that it is 'matter in self-motion' - godless change, the continual resolution of contradictions of being - that drives all historical phonemena, from quanta to galaxies. Within the current phase of human development the class struggle predominates human affairs. Capitalism constituted a phase of human cooperative development - mass production - but it has, like all things that overstay their welcome, turned into its opposite and has become a hindrance to social production. Contradictions arise naturally and are naturally resolved one way or another - life evolves. The ruling class of capitalists shows no internal logic of preparing for its own demise and a move up to a higher social form - common ownership of the means of production - so it falls to the increasingly conscious proletariat to do it through a decisive social revolution. Danny

All possibly valuable insight, Danny, but that would be better used at the entry for Dialectical materialism, not Historical materialism. Adhib 22:32, 26 Aug 2004 (UTC)

Okay. A minefield of pedantry can easily arise here - the two terms are so easily interchangeable - especially when jumping through linked subjects. I rarely post to anything, but if I do again I will try to keep more focused. Widipedists of the world, write! Danny. 01:50 1.10.2004 GMT

Popper
I suggest to add a more detailed criticism of historical materialism, particularly that of Popper.

In addition, the lengthy quotes from Marx and Lenin are not very helpful -- makes the article feel like it was written in the Soviet time where all you had to do was quote Marx and Lenin no matter what you wrote on...;) I suggest to tighten the text, and add Popperian criticism, snice it is probably the most substantial of the basic ideas of Marxism. What do you think? Dietwald 17:51, 23 October 2005 (UTC)

 * Leninism is no more outdated than positivism or verificationism, frankly. There are many thinkers, more relevant in this day than Popper, who have criticized historical materialism. 64.85.243.248 (talk) 00:34, 25 July 2014 (UTC)

Popper's opinion in the beginning section is not necessary and added only for the purpose to create impression that historical materialism is pseudoscience that has been refuted. Popper's opinion should be moved in criticism section where it belongs. There is also a response to Popper by Maurice Cornforth in his book "The Open Philosophy and the Open Society". I think this should be mentioned too. 5.139.123.111 (talk) 08:33, 31 May 2018 (UTC)

 * I think that this is a fair assessment and have removed it. RnRa76 (talk) 02:19, 20 October 2018 (UTC)

Defining historical materialism
I have tried to sharpen the key sentence defining historical materialism at the start of this article. The original was a little to 'economic determinist' for my taste and would exclude much work which is, and has been, done in historical materialism.

--PeterBowing 11:37, 23 March 2006 (UTC)

I don't understand how this article can be considered complete without any reference to Hegel. This article needs to take into account the inconsistency of the Idealist Conception (Hegel's conception) of history, which is where Marx first comes up with a Materialist conception of history. Without taking this into account, this article is incomplete.

Also, I agree with what what was said above about the quotes from Marx and Lenin. They're entirely unhelpful.

To be blunt, this article sucks. It hardly addresses the material outside of the introduction. This article needs to be cleaned up, possibly even rewritten entirely.

I think Hegel should be treated as one of the antecedents of historical materialism, but not the only one. There is an excellent book, 'Social Science and the Ignoble Savage' by Ronald Meek that deals with the currents of thought in the 16th to 18th centuries that Marx drew on. This has a knock-on implication for how Popper's criticism of historical materialism should be dealt with, as Popper seems to have believed that by demolishing Hegel he would automatically demolish Marx, and that is not valid if historical materialism has roots other than Hegel. The section at the beginning on Origins needs to be expanded, but I am new to Wiki and don't know if I can handle it. Itsmejudith 14:44, 23 May 2006 (UTC)

Bias in the intro
Cut from intro:

 * It is a powerful explanatory system, which has been employed and enriched by thousands of academic studies since Marx’s death.

 * Historical materialism looks for the causes of developments and changes in human societies in the way in which humans collectively make the means to life, thus giving an emphasis, through economic analysis, to everything that co-exists with the economic base of society (e.g. social classes, political structures, ideologies).

 * Historical materialism is opposed by those explanatory systems which do not stress the role of history in explaining social phenomena (e.g. American structural functionalism); and by idealist conceptions which explain history, not according to the actual behaviour of human beings, but by the will of God or by ‘ideas’ which do not originate in human society, (e.g. Hegelianism)

The second paragraph, in particular, begins in an egregiously problematic way. It makes it sound like HM is all-encompassing. Or that it merely takes economic aspects into account (see economic history).

The third paragraph is the worst. Having set up a straw man, it accuses anything that tries to knock it down as simplistic junk. But it's almost correct here (in parts).

Please help me to rewrite this intro. Something like:

 * Marxists use the terms materialism and idealism respectivel to describe views which (1) agree with Marxist conceptions of historical change (historical materialism) or (2) contradict Marxism by attributing a greater role to the decisions and actions of human beings.
 * Marx predicted that Capitalism must inevitable overthrown by armed struggle and be replaced by socialism, which would eventually "wither away" into stateless communism
 * Many other conceptions of history exist which deny or ignore Marx's two predictions (see Historiography).

Taken as it is, the old intro was not neutral but almost pure Marxist POV. Perhaps we begin by attributing its statements to various Marxist writers. --Uncle Ed 19:36, 23 May 2006 (UTC)

 * Marx has been enormously influential.. I would not say that the line '..is a powerful explanatory system, which has been employed and enriched by thousands of academic studies since Marx’s death' is POV really. Marx never declared that violent revolution is the way forward. Marxism, 'Marxian' and Marx does not = Marxist-Leninism. --  max rspct  leave a message  17:59, 24 May 2006 (UTC)

 * According to my university studies, it is an essential point of Marxism that violent revolution is the way forward, as taught by historical materialism. Whether or not Marx himself wrote (or later agreed or disagreed with) this point is not relevant, except to a Marx biography or someone writing a history of Marxism.

 * All major Communist parties use historical materialism to justify violent revolution, whether or not Marx specifically did. --Uncle Ed 18:07, 24 May 2006 (UTC)

The text that was in the Historical Origins section did not really cover the origins of the theory. I have added something on this, which could be expanded a lot, and moved the text that was formerly in the section to the Key Tenets section. In doing this, I have reinstated some of the introduction deleted by Uncle Ed because it is a summary and not POV, and I have, I hope, clarified it a bit.

On the other hand, I agree that it would be good to strengthen the description of the alternative explanations to historical materialism. Someone who knows the work of Popper well should add a summary of his critique to the Criticisms section; it would be helpful if they could explain how Popper was critiquing Marx and Hegel simultaneously. I wouldn’t be in favour of adding Uncle Ed’s proposed substitute text because it would be a step backwards in the accuracy of the description of what historical materialism is, and its complex relationship with idealism and other kinds of materialism.

I have changed the heading that was Commentaries on different aspects etc. to References, to be consistent with style, kept the Commentaries as a kind of sub-heading and added two references. Doesn’t the style of referencing in the whole article need to be tidied up, either on the footnote or the Harvard system? I don’t mind doing this if others could suggest which one to do (new to wiki but used to academic writing).

Itsmejudith 11:46, 24 May 2006 (UTC)

Unexplained revert
User:Max rspct wrote in an edit summary
 * rv pov edits by Ed poor.. - marx never outlined 'six stages' and who cares what cult leader Moon thinks.. Not encylopedic

I do not understand what you mean by "pov edits". Please show diffs or quotes and explain what you mean. Are you for example saying that I've merely added my own point of view at some point?

Furthermore, it is common knowledge that historical materialism posits six stages. I copied most of them from further down in the article. Please clarify whether you mean (1) that Marx didn't posit the six stages and some other person or organization did; or (2) that no major form of historical materialism includes these stages.

Either way, I request that you provide sources, because the progressive stages are so well known as to be common knowledge. And you shouldn't revert common knowledge unless you can point to a good source; perhaps you should review WP:NOR. --Uncle Ed 18:15, 24 May 2006 (UTC)

It's a common misinterpretation of Marx. The sources are Marx's own writings. There is no mechanistic or deterministic description of "stages" that ultimately or inevitably lead to socialism anywhere in Marx's writings. It's just not there. 2600:8806:2500:E00:EDC5:A819:A8BC:C462 (talk) 16:16, 10 November 2017 (UTC)

This is not an article on Marx's philosophy. This is an article on the MARXIST theory of history, which was the title when I directed students to the page last year, or historical materialism, as it is now titled. Whether Marx ever explicitly articulated the 6-stage idea is totally irrelevant. It's a common understanding of historical materialism, as you yourself point out. So it makes sense to summarize it for those getting their first introduction to Marxist thought. The OP's point still stands. The article is much less organized and less helpful as a result of the changes.

 * I marked the page Marx's theory of history for deletion last month as historical materialism is the Marxist theory of history and it had very few citations & a lot of original research. It was decided that the page should be redirected to the page on historical materialism. That said, I did find the stages section helpful when I myself was introduced to Marxism, so I will do my best to reincorporate it as I work to make this article better over the next few months. RnRa76 (talk) 20:25, 5 December 2018 (UTC)

Progress and human will
It is a well known aspect of historical materialism that human will cannot stop the progression of human society from throught the various stages from primitive society on to feudalism, capitalism, socialism and finally "communism" (that is, stateless communism. Marxists regard this progress as inevitable.

Thinkers such as Bulgarin dismissed the notion of free will (or independent human will) as "indeterminism".

Correct me if I'm wrong, though. I don't know everything about Marxism, only what I remember from my university studies long ago! :-) --Uncle Ed 18:42, 24 May 2006 (UTC)

Well, I don't think you're right, put it that way. What Marx thought about free will is best summed up in his very well known saying that people create their own history but not in the conditions of their own choosing. In contemporary social science this question is usually posed as the relationship between structure and agency. Social scientists of Marxist orientation argue that people are faced with constraints arising from social structures. They can't wish the constraints away, but they can change them if they work collectively with other people who share their interests. There has been an enormous amount written about this from a Marxist point of view, as well by anti-Marxists and in philosophy generally. This article cannot deal with it adequately but should refer the reader to determinism.

Hope this helps and hope I am getting the hang of editing properly.

Itsmejudith 20:29, 24 May 2006 (UTC)

'It is a well known aspect of historical materialism that human will cannot stop the progression of human society from throught the various stages from primitive society on to feudalism, capitalism, socialism and finally "communism"'

Marx said that European history at least had gone through various stages (or modes of production) but not that every society had to mechanically go through an identical development, e.g Marx identified the 'Asiatic mode of production'

On free will. We collectively make society by our actions (our interaction with nature)but at the same time society socialises us in our behaviour and thinking.

In this article I think historical materialism should be presented postively but objectively and at the end of the article the points against it (or its weaknesses) should be presented positively. In this way we inform people and give them the evidence to make their own judgment.

--PeterBowing 08:49, 26 May 2006 (UTC)

Methodology and doctrine
The intro describes historical materialism as a methodology or approach to history.
 * This makes it sounds like a school of thought which looks into history to discover something.
 * I thought rather that Marxism has a doctrine of history with which it interprets historical events.
 * The difference is that a methodology starts with facts and seeks to discover trends and even principles. A doctrine starts with first principles and then strives to interpret facts.

There are so many buzzwords, it's hard to figure out what Marx (or Marxists or "Marxism") is saying about history.

The longest section in the article is a "disclaimer" which vaguely implies that Marx was not really making any claims about history; rather, others came along and added a bunch of stuff that can't be pinned on Marx or Engels. This is contradicted later in a short, punchy section which lays out standard Marxist doctrine about history.

I propose we eliminate the disclaimer altogether, or spin it off to a Schools of Marxist thought article; eliminate the buzzwords and define clearly any needed Marxist technical terms; and recast the article as an explanation of the Marxist doctrine about history which follows from the core Marxist philosophy of Dialectical Materialism. --Uncle Ed 18:46, 15 September 2006 (UTC)

 * I don't know where you get the distinction you make above between "doctrine" and "methodology" but a basic point about historical materialism is that it both works from facts towards general principles AND from general principles towards facts. Working in only one of these ways would not be consistent with a dialectical approach. So historical materialism is a methodology available to historians - and much else besides. I am also confused about why you think that dialectical materialism is "core" to Marxism in a way that historical materialism is not. You may be right about contradictory statements in the article. I will have a look at them and see if the section you mention can be rewritten as a clarification and not a disclaimer. Itsmejudith 22:45, 17 September 2006 (UTC)

Odd stuff in main article page
Removed the following:

"As was said, when a group was taken to a desolate place where the means of english social relations were absent, there was no way that they could feel compelled to work for a certain leader, because in theory they were free. Yet as has been examined with all colonies, over an extended period of time, the colony will provide itself with social relations. There will be leaders, and there will be followers. Those that give work, and those that do work, and in the end, the social classes will be established. It is in human nature to establish social differences; however, the main question is, can we re- create those social differences so that they do not insinuate a level of corruption between the classes. If we create the social difference, but do not encourage the great variation in lifestyle that comes with it then a more established form of equality will exist. All differences will become abstract rather than rely so much on the physical aspects. The social differences will still exist, and probably be just as strong as ever, however they will not be as visible to everyone and they might not cause such great discomfort among classes. By reducing the importance on materialism we will establish a more independant colony."

As far as I can see, this is a commentary on the Wakefield section, which IMHO is already too long. But perhaps the editor who placed it can explain why s/he regards it a useful addition to the article. Itsmejudith 14:29, 17 November 2006 (UTC)

I agree. Can't it be moved to page on Wakefield? (As far as I'm aware Wakefield's only significance is that Marx disagreed with him)PeterBowing 08:34, 20 November 2006 (UTC)

Is there anyone who actually admits to historical materialism?
The whole article sounds like a defense or something from Marxists who are stung by critiques that Marx's analysis is overly simplistic. Could we talk about what historial materialism is and what it does before we launch into paragraphs of how That Wasn't What Marx Really Meant? Slac speak up! 01:57, 3 July 2007 (UTC)

And also, I'm sure someone has criticised its methodology other than a wacky cult leader. Slac speak up! 02:00, 3 July 2007 (UTC)

 * Someone was going to write about Karl Popper's critique, which would be very useful. It might be quite tricky to distinguish critiques of historical materialism per se and critiques of Marxism but I'm sure with goodwill we can get there. The real problem with the article is that it isn't well enough sourced. There should be good introductory social science texts that we could draw on more. Itsmejudith 21:48, 3 July 2007 (UTC)

The "Criticisms" section is inadequate
At the moment, the section is mostly an apologia for historical materialism. I removed the quote from cult leader Moon for obvious reasons. Victor Chmara 08:44, 25 July 2007 (UTC)

Actually I find it ridiculous that historical materialism is blamed for totalitarianism. Is there any actual evidence for that? I mean there were non-Marxist totalitarian societies, and claiming an approach to history leads to despotism is rather far fetched. —Preceding unsigned comment added by 72.192.131.44 (talk) 01:59, 16 January 2008 (UTC)

I agree that it would be ridiculous to blame historical materialism for totalitarianism, but this section needs some serious attention. The Walter Benjamin summaries are a mess; it would probably be better to use some of his interlocutors, such as Susan Buck-Morss, Max Pensky, and Jay Martin to explain his philosophy of history, and its relation to historical materialism. --2600:8806:2500:E00:D530:39FA:7B8B:1B10 (talk) 05:18, 5 November 2017 (UTC)

Historical Materialism section on Classical Marxism page
Someone had just recently come and chucked in a huge section on Marx's theory of history on the Classical Marxism page. Its probably not technically about historical materialism, but that is the main article link in the section. It seems fairly poorly written and some of it does not seem particularly academic in its wording. I don't know much about this specificly so I was hoping people could have a quick look and just let me know if it seems accurate. (If anybody has the time and could shorten it into a succint summary that would be even better!)

Thanks, JenLouise 15:28, 18 October 2007 (UTC)

 * I agree with you about the poor writing. Also, it adds nothing to the explanation of specifically Classical Marxism compared with later developments. You'll see some mention in this article of how HM has been modified or developed by later writers. Quite honestly, I think the best thing for the moment is to leave the section out. Itsmejudith 21:26, 18 October 2007 (UTC)

Merge
since it has been tagged for a very long time and there have been no objections, I propose to carry out the merge between this article and the article Marx's theory of history imminently, with this being the main article and the other left as a redirect. Itsmejudith (talk) 10:33, 21 April 2008 (UTC)

I would prefer not in my opinion. I believe this is a very important section of Marxist theory, perhaps the most important, and deserves its own page without distraction. BTW just signed up, hope this is done correctly. iMadRichard 17:27, 16 June 2010 (GMT)

Sentence structure: 4th Paragraph under Key Ideas
Found this:

"That all of this not only have as their origin in the economic base but also ultimately correspond to the character and development of that economic base, i.e. the way people come together in order to produce and reproduce the material requirements of life."

It starts, from my reading, using "that" as a conjunction, placing everything that follows as a subjunctive clause, until the (heretofore unread) clarifying verb appears.

No critique of content; merely pointing out a grammatical issue. Unfortunately, I'm not well-versed enough on this topic to make sense out of the sentence.Stevenredd (talk) 15:23, 26 September 2008 (UTC) —Preceding unsigned comment added by Stevenredd (talk • contribs)

Theory of historical trajectory
I've created this article on a closely related term mentioned in Erik Olin Wright's works. It should probably be linked from the body of this article; for now I'll add it a s see also. --Piotr Konieczny aka Prokonsul Piotrus| talk to me 02:50, 7 December 2011 (UTC)

Crude materialism
It is worth mentioning that the emphasis Marx perhaps placed on materialism, which has been misinterpreted to mean a sort of crude materialist conception of history, was only in response to the young hegelians who emphasised this notion that ideas are the main vehicle behind social change and history. We already know that this crude materialism which Marx is often misattributed with, was really Feuerbach's invention (which Marx criticised after a critique of the hegelians) so perhaps this point (about the role of Hegel and Feuerbach) should be included in the article. I think it should also be noted that historical materialism is not a term used by Marx. This article (http://www.marxists.org/archive/fromm/works/1961/man/ch02.htm) historical materialism by eric fromm provides a good starting point (though I'm sort of reluctant to accept some of the arguments the frankfurt school theorists made given their attachment to freud). The article as it stands now still needs a lot of work. Another good quote to use by Marx in his most important (and only finished) work Capital is the following from chapter 15 on Machinery & Large-Scale Industry:

A critical history of technology would show how little any of the inventions of the eighteenth century are the work of any single individual. As yet such a book does not exist. Darwin has directed attention to the history of natural technology, i.e. the formation of the organs of plants and animals, which serve as the instruments of production for sustaining their life. Does not the history of the productive organs of man in society, of organs that are the material basis of every particular organization of society, deserve equal attention? And would not such a history be easier to compile, since, as Vico says, human history differs from natural history in that we have made the former, but not the latter? Technology reveals the active relation of man to nature, the direct process of the production of his life, and thereby it also lays bare the process of the production of the social relations of his life, and of the mental conceptions that flow from those relations. Even a history of religion that is written in abstraction from this material basis is uncritical. It is, in reality, much easier to discover by analysis the earthly kernel of the misty creations of religion than to do the opposite, i.e. to develop from the actual, given relations of life the forms in which these have been apotheosized. The latter method is the only materialist, and therefore the only scientific one. The weaknesses of the abstract materialism of natural science, a materialism which excludes the historical process, are immediately evident from the abstract and ideological conceptions expressed by its spokesmen whenever they venture beyond the bounds of their own speciality. (ftnt. 4, pp. 493-94)

Mention of John Bellamy Foster
Confused about the mention of him under 'Criticisms', since it is clear that he expresses support for HM. His statement also appears to be in direct contrast to Popper's statement in the same section. The difference in attitudes, as I see it, is that Popper finds HM lacking because he treats it as a contestable proposition (as he does with every proposition but his epistemological axioms), while Foster considers HM valid as an axiom in itself, due to which a scientific approach to history is somehow more justified than it otherwise would be. This juxtaposition should be made explicit for continuity. 183.90.103.161 (talk) 18:50, 26 April 2013 (UTC)

Edit request
I'm suggesting that this article link to the page I wrote on The Part Played by Labour in the Transition from Ape to Man where that essay is mentioned in the section "Historical Materialism in Marxist thought". Thanks.

Nikoblock (talk) 06:43, 22 November 2013 (UTC)

Done Thanks, Celestra (talk) 16:23, 22 November 2013 (UTC)

Ed Stephan's (Professor @ university of Oregon) research into county size is a good fit for historical materialism
To me it looks like supporting evidence for historical materialism, but coming from an unrelated field. Basically, Ed Stephan was able to show that the principle of least-effort (i.e. labour cost) is a strong predictor for the size of administrative regions all the way from counties, to states to whole nations. Stephan and was able to mathematically derive the relationship from first principles (the variables are population density and speed of transport at the time the political division was created), then show that existing national entities follow the pattern quite closely. i.e. in the long run labour costs are the determining factor of the size of countries, rather than politicians and events.

http://www.uvm.edu/~pdodds/files/papers/others/1971/stephan1971a.pdf http://www.edstephan.org/Book/chap1/1.html

The connection to historical materialism is not one Ed Stephan makes himself, so I thought I'd mention it in the talk page rather than in the main article. — Preceding unsigned comment added by 60.241.77.106 (talk) 09:14, 4 October 2015 (UTC)

Semi-protected edit request on 2 November 2015
The Further reading section has: The title should have "Historical" and "Dialectical" swapped:
 * Joseph Stalin, Historical and Dialectical Materialism. (classic statement of Stalinist doctrine)
 * Joseph Stalin, Dialectical and Historical Materialism. (classic statement of Stalinist doctrine)

50.53.48.224 (talk) 22:40, 2 November 2015 (UTC)
 * Yes check.svg Done Stickee (talk) 22:55, 2 November 2015 (UTC)

Removal of hidden text
Just letting the talk page know that I have removed a significant portion of hidden text within the article, as I believe it was causing some confusion with regards to formatting. Kujilia (talk) 13:38, 23 January 2018 (UTC)

Historical materialism is not exclusively Marxist
Lewis H. Morgan, founder of modern anthropology, wasn't a Marxist -- he was a Republican! Morgan independently developed the materialist conception of history in his Ancient Society (1877), which inspired Friedrich Engels to write The Origin of the Family, Private Property and the State (1884). One contemporary non-Marxist historian who uses the materialist method is Michael E. Smith, an expert in Mesoamerican cultures such as the Tlahuica and Aztecs.

I'll try to elaborate the article, but we should all hope for a more qualified writer to do it first. :)

Theory of history
I don't understand how the page on Marx's Theory of History (https://en.wikipedia.org/w/index.php?title=Marx%27s_theory_of_history&diff=865099188&oldid=865090907) was superfluous to this article. Why not have a simplified, easy to read demonstration of his predictions, which in this extremely dense page (for the layman) are simply aggregated into the "trajectory of historical development" section? The deletion of that page detracts from the goal which is to make lay people understand Marx's view on the natural development of human society. I have to link that cached version all the time to people that don't understand anything about socialism. Can we have it back? — Preceding unsigned comment added by 155.98.131.7 (talk) 00:28, 20 December 2018 (UTC)

Prior to capitalism, nations were not the primary political form?
The article states "Prior to capitalism, nations were not the primary political form." - ok, so what were the political forms prior to capitalism? Feudalism, Mercantilism, etc ? The footnote links to an article where I can't find anything on "primary political form". Thy SvenAERTS (talk) 06:53, 28 December 2019 (UTC)

Books to add
There are four books I've scanned that would fit in the "Sources" section of the article if anyone wishes to add them with the required formatting: On Historical Materialism (a 700-page compilation of writings by Marx, Engels, and Lenin), Historical Materialism: Basic Problems (a Soviet book from 1968), Historical Materialism: An Outline of Marxist Theory of Society (a Soviet book from 1973), and What Is Historical Materialism? (a Soviet book from 1985.) There's also Plekhanov's The Development of the Monist View of History. --Ismail (talk) 18:08, 18 November 2021 (UTC)

title: Talk:Historical materialism


text:
Hasid

Ḥasīd (חסיד, "pious", "saintly", "godly man"; plural "Hasidim") is a Jewish honorific, frequently used as a term of exceptional respect in the Talmudic and early medieval periods. It denotes a person who is scrupulous in his observance of Jewish law, and often one who goes beyond the legal requirements of ritual and ethical Jewish observance in daily life. In the Mishnah, the term is used thirteen times, the majority of which being in the Tractate Pirkei Avot.

Hebrew etymology
The Hebrew word Ḥasīd appears for the first time in the Torah (Deuteronomy 33:8) with respect to the tribe of Levi, and all throughout the Hebrew Book of Psalms, with its various declensions. In classic rabbinic literature it differs from "Tzadik" ("righteous") by instead denoting one who goes beyond his ordinary duty. The literal meaning of Ḥasīd derives from Chesed (= "kindness"), the outward expression of love (lovingkindness) for God and other people. This spiritual devotion motivates pious conduct beyond everyday limits. The devotional nature of its description lent itself to a few Jewish movements in history being known as "Hasidim". Two of these derived from the Jewish mystical tradition, as it could tend towards piety over legalism.

Rabbi Saadia Gaon, the medieval Hebrew linguist and biblical exegete, translated the Hebrew word Ḥasīd in Psalm 18:25 into the Judeo-Arabic word, meaning, "he that does good."

Usage in rabbinic texts
As a personal honorific, both "Ḥasīd" and "Tzadik" could be applied independently to the same individual with both different qualities. The 18th-century Vilna Gaon, for instance, at that time the chief opponent of the new Jewish mystical movement that became known as "Hasidism", was renowned for his righteous life. In tribute to his scholarship, he became popularly honored with the formal title of "Genius", while amongst the Hasidic movement's leadership, despite his fierce opposition to their legalistic tendencies, he was respectfully referred to as "The Gaon, the Ḥasīd from Vilna".

A general dictum in the Talmud (Baba Kama 30a) states: "He that wishes to be pious (Aramaic: ḥasīda), let him uphold the things described under the indemnity laws in the Mishnaic Order of Neziqin." Rava, differing, said: "Let him observe the things transcribed in Pirkei Avot." (ibid.)

Of the few known pious men in the early 2nd century, the Talmud acknowledges the following: "Wherever we read (in Talmudic writings), 'It is reported of a pious man', either R. Juda b. Baba it meant or R. Judah, the son of R. Ilai."

Other uses
In the aggregate, "Ḥasīd" may also refer to members of any of the following Jewish movements:

 * the Hasideans of the Maccabean period, around the 2nd century BCE
 * the New Testament twice refers to Jesus of Nazareth as the Davidic ḥasīd foretold in (Book of Acts 2:27; 13:35 ὅσιος, quoting Ps 15:10 Greek Septuagint translation; "ḥasīd" is here used in the Hebrew NT translations of Delitzsch, Salkinson-Ginsburg, “The Way,” etc., and is paralleled by the Syriac Peshitta). Followers of this royal ḥasīd were commanded to practice ḥesed among themselves (Gospel of Luke 10:37, using Septuagintal poiein eleos meta from Hebrew asah ḥesed ʿim).
 * the Ashkenazi Hasidim, an ascetic German mystical-ethical movement of the 12th and 13th centuries
 * Hasidic Judaism (Yiddish: "Chassidische movement"), a movement which began in Ukraine in the 18th century

title: Hasid