Content deleted Content added
Ancheta Wis (talk | contribs) →Pseudo-code in the article: talkref |
Ancheta Wis (talk | contribs) →We should dehaskelize it: +anchors |
||
Line 28:
::::Problem solving can take many forms; please see [[reframing]] (in the sense of [[denotational semantics]]) for one approach to [[how to solve it|problem solving]]. --[[User:Ancheta Wis|Ancheta Wis]] [[User talk:Ancheta Wis| (talk]] [[Special:Contributions/Ancheta Wis| | contribs)]] 13:48, 18 July 2020 (UTC)
:::::How does this relate to the suggested way of introducing monads? [[Special:Contributions/217.61.234.177|217.61.234.177]] ([[User talk:217.61.234.177|talk]]) 08:08, 19 July 2020 (UTC)
::::::{{anchor|letBe}}[[Subjunctive mood]] and [[reframing]] are part of Haskell: as an example, <code>let tmp::b = g x in f tmp</code> can be read ''let <code>tmp</code> be <code>g</code> applied to <code>x in f tmp</code>'' where the compose operator <code>('∘') f g</code> has type (b→c)→(a→b)→a→c <ref name=coresyn.hs>[https://www.youtube.com/watch?v=uR_VzYxvbxg Simon Peyton Jones (Sep 14, 2016) Into the Core - Squeezing Haskell into Nine Constructors]</ref>{{rp|minute 11:45}}
{{talkref}}
::::::''be'' is "Subjunctive ''='' " and part of the Haskell ''let'' syntax, as are ''<code>in f tmp</code>'' (ie, in f applied to tmp) and ''<code>where</code>'', which serve to Reframe the terms of some expression which are used to define a function such as ''[[Composition operator|compose]]'', for example. (The section <code> ('∘') f g</code> means ''f ∘ g'', read as ''f follows g'', and the a,b,c are [[Parametric polymorphism|polymorphic]] type variables, in Haskell. <small>−It may help to mentally separate the concepts [[Lambda_calculus#β-reduction|reduce]], [https://en.wikibooks.org/wiki/Haskell/Pattern_matching#let_expressions_and_where_clauses bind], [[Evaluation strategy#Call by need|eval]], and [[Function application|apply]] in your further readings. The articles sometimes gloss over differences in these separate concepts when discussing them in examples. [[A-normal form]] can be a useful reduction.</small>) [[Evaluation strategy#Call_by_need]] says "Haskell only supports side effects (such as mutation) via the use of monads".
::::::--[[User:Ancheta Wis|Ancheta Wis]] [[User talk:Ancheta Wis| (talk]] [[Special:Contributions/Ancheta Wis| | contribs)]] 02:55, 9 August 2020 (UTC)
:::::::{{anchor|haskForGg }}See Gabriel Gonzalez' ''Haskell for all'' [https://www.haskellforall.com/2014/10/how-to-desugar-haskell-code.html (26 Oct 2014) How to desugar Haskell code] for a 5-line, internally consistent, mental model of Haskell, and how to reduce/rewrite its expressions into their equivalents (which depends on how you intend to apply those expressions). --[[User:Ancheta Wis|Ancheta Wis]] [[User talk:Ancheta Wis| (talk]] [[Special:Contributions/Ancheta Wis| | contribs)]] 05:31, 4 January 2022 (UTC)
== Uncertainty about the term's etymology ==
|