<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta name="Microsoft Theme 2.00" content="Clear Day 011"><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>I agree that the paradigm shift is an issue, but I don&#8217;t think it is the main element for the things that I am pointing out. And I do think that Functional languages with their declarative style, type inference, polymorphism, lack of state, all do make FP style clearer and simpler.<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>I come from SML (fairly casual usage), and I think the bump in learning curve (and thus clarity in reading) at least for me in Haskell is the shift to Monads and Applicatives, with their unfamiliar syntax of new operators, and semantics on those.<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Most other things in FP are a fairly simple shift; the domains and operations, and expression &amp; operator syntax, and recursion, etc. are fairly familiar, just a different style is needed. Of course the Lazy nature of Haskell does require some adjustment in the underlying model and understanding of evaluation.<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>When shifting to Functors, Applicatives, Monads, Arrows, all of these elements change significantly and there is no corresponding familiar domain for reference. Yes, I certainly agree that once one gets familiar with this model and syntax, and new operators and usage, it is powerful and readable.<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Just as APL, Perl, &#8230; I agree with the earlier response that the increasing number of unfamiliar operators in Haskell increases the learning curse, albeit for their associated power in usage. I think that APL had a similar characteristic. <span style='font-family:Wingdings'>J</span><o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>This was not a complaint, but just an observation; my interest is mainly in teaching Introductory FP as a part of various comparative programming languages. No language wars intended; I was just interested in calibration from the views and experiences of more expert and experienced Haskell&#8217;ers.<o:p></o:p></p></div></body></html>