Knowledge (XXG)

Haskell

Source 📝

36: 5306: 4987: 2028:(lazy by explicit annotation) dialect of Haskell with a type-and-effect system, to address Haskell's difficulties in reasoning about lazy evaluation and in using traditional data structures such as mutable arrays. He argues (p. 20) that "destructive update furnishes the programmer with two important and powerful tools ... a set of efficient array-like data structures for managing collections of objects, and ... the ability to broadcast a new value to all parts of a program with minimal burden on the programmer." 4505: 3969: 3947: 5688: 5354: 5344: 5334: 5173: 5163: 5153: 4522: 5660: 2034:, one of the authors of Standard ML, has given his reasons for not using Haskell to teach introductory programming. Among these are the difficulty of reasoning about resource use with non-strict evaluation, that lazy evaluation complicates the definition of datatypes and inductive reasoning, and the "inferiority" of Haskell's (old) class system compared to ML's module system. 645: 2013:, in 2003, discussed problems associated with lazy evaluation while also acknowledging the theoretical motives for it. In addition to purely practical considerations such as improved performance, they note that lazy evaluation makes it more difficult for programmers to reason about the performance of their code (particularly its space use). 2016:
Bastiaan Heeren, Daan Leijen, and Arjan van IJzendoorn in 2003 also observed some stumbling blocks for Haskell learners: "The subtle syntax and sophisticated type system of Haskell are a double edged sword—highly appreciated by experienced programmers but also a source of frustration among beginners,
732:
are specified in the Report, but the design allows for other language bindings. To support this, data type declarations were permitted to contain no constructors, enabling robust nonce types for foreign data that could not be constructed in Haskell. This extension was also previously specified in an
2886:
The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the
637:
Other notable changes in early versions were the approach to the 'seq' function, which creates a data dependency between values, and is used in lazy languages to avoid excessive memory consumption; with it moving from a type class to a standard function to make refactoring more practical.
1953:, used Haskell as a prototyping language for the OS developer. At the same time, the Haskell code defined an executable specification with which to reason, for automatic translation by the theorem-proving tool. The Haskell code thus served as an intermediate prototype before final 633:
IO was introduced, along with the generalisation of type classes to higher kinds (type constructors). Along with "do notation", which provides syntactic sugar for the Monad type class, this gave Haskell an effect system that maintained referential transparency and was convenient.
2169:
based on processes as stateless automata over a sort of tuples of one element mailbox channels where the state is kept by feedback into the mailboxes, and a mapping description from outputs to channels as box wiring, with a Haskell-like expression language and
817:
The next formal specification had been planned for 2020. On 29 October 2021, with GHC version 9.2.1, the GHC2021 extension was released. While this is not a formal language spec, it combines a number of stable, widely-used GHC extensions to Haskell 2010.
652:
in the Haskell prelude as of GHC 7.10. The inclusion of Foldable and Traversable (with corresponding changes to the type signatures of some functions), and of Applicative as intermediate between Functor and Monad, are deviations from the Haskell 2010
549:
programming language, which served to focus the efforts of the initial Haskell working group. The last formal specification of the language was made in July 2010, while the development of GHC continues to expand Haskell via language extensions.
712:
Hierarchical module names. Module names are allowed to consist of dot-separated sequences of capitalized identifiers, rather than only one such identifier. This lets modules be named in a hierarchical manner (e.g.,
2485: 582: 670:
for teaching, and as a base for future extensions. The committee expressly welcomed creating extensions and variants of Haskell 98 via adding and incorporating experimental features.
3685:; Andronick, June; Cock, David; Derrin, Philip; Elkaduwe, Dhammika; Engelhardt, Kai; Kolanski, Rafal; Norrish, Michael; Sewell, Thomas; Tuch, Harvey; Winwood, Simon (October 2009). 2017:
since the generality of Haskell often leads to cryptic error messages." To address the error messages researchers from Utrecht University developed an advanced interpreter called
1699:
interpreter. It was once one of the implementations used most widely, alongside the GHC compiler, but has now been mostly replaced by GHCi. It also comes with a graphics library.
2183: 721:), although technically modules are still in a single monolithic namespace. This extension was specified in an addendum to Haskell 98 and was in practice universally used. 708:
Haskell 2010 is an incremental update to the language, mostly incorporating several well-used and uncontroversial features previously enabled via compiler-specific flags.
701:, began. This was intended to be an ongoing incremental process to revise the language definition, producing a new revision up to once per year. The first revision, named 961:
An active, growing community exists around the language, and more than 5,400 third-party open-source libraries and tools are available in the online package repository
5747: 5737: 5392: 5742: 641:
The first version of Haskell ("Haskell 1.0") was defined in 1990. The committee's efforts resulted in a series of language definitions (1.0, 1.1, 1.2, 1.3, 1.4).
2887:
experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.
2021:, which improved the user-friendliness of error messages by limiting the generality of some Haskell features. In particular it disables type classes by default. 5348: 4554: 5727: 5167: 5717: 5676: 2198: 2787: 1720:) was a fork of nhc98, with the goals of being simpler, more portable and efficient, and integrating support for Hat, the Haskell tracer. It also had a 2041:, has historically been criticized for poorly handling multiple versions of the same library, a problem known as "Cabal hell". The Stackage server and 2495: 5712: 5681: 5210: 3457: 1667:
Jhc, a Haskell compiler written by John Meacham, emphasizes speed and efficiency of generated programs and exploring new program transformations.
2563: 790:
of operators and comments was addressed, and the interaction of do-notation and if-then-else was tweaked to eliminate unexpected syntax errors.
5671: 4457: 4307: 4281: 4254: 4206: 4142: 4118: 3249: 3001: 1755:
Helium, a newer dialect of Haskell. The focus is on making learning easier via clearer error messages by disabling type classes as a default.
947: 5338: 483: 5412: 5385: 4581: 3783: 3231: 208: 2045:
build tool were made in response to these criticisms. Cabal itself now has a much more sophisticated build system, heavily inspired by
629:(IO) were handled by both streams based and continuation based mechanisms which were widely considered unsatisfactory. In version 1.3, 4231: 4187: 4166: 4075: 3303: 3131: 2594: 2031: 890: 5417: 5051: 4291: 4269: 4128: 403: 2394: 5422: 5096: 5071: 4422: 2456: 80: 68: 5248: 943: 894: 5691: 5623: 5496: 5378: 3925: 3853: 2104: 2085: 951: 901: 867: 775: 630: 570: 546: 521: 408: 378: 370: 344: 336: 283: 1794:(GHC) is also often a testbed for advanced functional programming features and optimizations in other programming languages. 980: 800:
was specified. By 2010, dozens of extensions to the language were in wide use, and GHC (among other compilers) provided the
5732: 5722: 5666: 5644: 5598: 5571: 5546: 5506: 5081: 4903: 4713: 1921: 913: 863: 491: 420: 374: 303: 295: 48: 4512: 553:
Haskell is used in academia and industry. As of May 2021, Haskell was the 28th most popular programming language by
5638: 5541: 5511: 5284: 4745: 4698: 4678: 4620: 4540: 2548: 2490: 2141: 2110: 2057: 622:
and Stephen Blott to address the ad-hoc handling of equality types and arithmetic overloading in languages at the time.
542: 437: 433: 386: 361: 348: 258: 250: 4547: 804:
pragma to specify individual extensions with a list of identifiers. Haskell 2010 compilers are required to support the
505:. Designed for teaching, research, and industrial applications, Haskell has pioneered a number of programming language 5613: 5608: 5551: 5531: 5358: 5041: 4753: 4691: 4660: 4526: 2162: 2075: 1839: 1765: 429: 424: 395: 382: 319: 299: 278: 262: 135: 113: 4476: 4007: 3605:"input-output-hk/cardano-node: The core component that is used to participate in a Cardano decentralised blockchain" 5556: 5452: 5435: 5121: 4684: 3291: 2091: 905: 725: 667: 391: 365: 3202: 5566: 5521: 5203: 5177: 4734: 3073: 786:
was specified in a simpler way that reflected actual practice; an edge case in the interaction of the language's
340: 287: 274: 266: 254: 5603: 5486: 5305: 5152: 4986: 4965: 4940: 4605: 4434: 2114: 1954: 1894: 1791: 1633: 928: 874:
to the type of functions. A pure function can return a side effect that is subsequently executed, modeling the
833: 729: 682: 535: 215: 35: 20: 3939: 3042: 573:
by Research Software Ltd. in 1985, interest in lazy functional languages grew. By 1987, more than a dozen non-
2799: 808:
extension and are encouraged to support several others, which correspond to extensions added in Haskell 2010.
4877: 3921: 2071:
A series of languages inspired by Haskell, but with different type systems, have been developed, including:
1988: 1827: 1785: 942:
that runs on most platforms. GHC is noted for its rich type system incorporating recent innovations such as
932: 797: 605:
Haskell was developed by a committee, attempting to bring together off the shelf solutions where possible.
5472: 5196: 3968: 3946: 2464: 2289: 1324: 882: 164: 2900: 1931: 893:. Its principal innovation in this area is type classes, originally conceived as a principled way to add 5011: 4889: 4362: 3172: 1998: 1934:, an open-source library for analysis, diffing, and interpretation of untrusted source code, in Haskell. 1873:, which is used for instance in the research community to draw up state-of-the-art reports and roadmaps. 1679:. It supports almost all Haskell 98 features plus many experimental extensions. It is implemented using 1641: 3961: 3877: 3465: 1788:
written in Haskell, with several innovative features, such as more precise control of patches to apply.
666:, intended to specify a stable, minimal, portable version of the language and an accompanying standard 3796: 3228:
Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '89
2571: 2018: 5401: 5327: 5268: 5236: 5146: 4883: 3816:"Lazy evaluation can lead to excellent performance, such as in The Computer Language Benchmarks Game" 3341: 2459:(2006). "Confessions of a Used Programming Language Salesman: Getting the Masses Hooked on Haskell". 2259: 1993: 1914: 1831: 1739: 615: 594: 578: 517: 494: 231: 43: 3578: 2179:
The Haskell community meets regularly for research and development activities. The main events are:
2060:
is a close, slightly older relative of Haskell. Its biggest deviation from Haskell is in the use of
5477: 4781: 4648: 4599: 2795: 2156: 2152: 2046: 2025: 1622: 1430: 783: 442: 2469: 1804:
version control. It also provides a distributed file synchronization system (git-annex assistant).
5101: 5046: 5001: 4927: 4666: 4625: 4463: 4426: 4061: 3859: 3815: 3255: 2542: 2130: 2095: 2010: 1960: 1937: 1703: 1692: 1676: 955: 851: 843: 219: 183: 72: 60: 5258: 4346:. An up-to-date community maintained version of the renowned "Learn You a Haskell" (LYAH) guide. 1913:
implements its anti-spam programs in Haskell, maintaining the underlying data access library as
697:
In early 2006, the process of defining a successor to the Haskell 98 standard, informally named
577:, purely functional programming languages existed. Miranda was the most widely used, but it was 3649: 2219:
has occurred, the Hac series, aimed at improving the programming language tools and libraries.
1734:
Implementations not fully Haskell 98 compliant, and using a variant Haskell language, include:
5457: 4453: 4303: 4277: 4250: 4227: 4202: 4183: 4162: 4138: 4114: 4071: 3849: 3245: 2997: 2847: 2390: 2189: 1680: 859: 2657:
F# also draws from Haskell particularly with regard to two advanced language features called
2353: 331: 5061: 4839: 4822: 4790: 4611: 4586: 4445: 3841: 3686: 3235: 2094:, a functional language to create web front-end apps, no support for user-defined or higher- 2038: 1775: 1771: 1745: 1661: 974: 847: 827: 586: 456: 399: 238: 171: 3982: 3552: 3307: 2620: 5076: 4828: 4814: 4797: 4721: 4375: 2486:"C9 Lectures: Dr. Erik Meijer – Functional Programming Fundamentals, Chapter 1 of 13" 2166: 2061: 2042: 1859: 1819: 917: 839: 749: 574: 502: 76: 55: 4385: 2107:, a functional language with dependent types suitable for proving properties of programs. 597:
into a common one to serve as a basis for future research in functional-language design.
4132: 3275:"Fun with Functional Dependencies, or Types as Values in Static Computations in Haskell" 3017: 2405: 5056: 4947: 4295: 4243: 3274: 2926: 2079: 1947: 1855: 1043: 787: 768: 498: 176: 156: 4504: 3536: 2821: 625:
In early versions of Haskell up until and including version 1.2, user interaction and
5706: 5576: 5219: 5126: 5091: 5028: 4869: 4762: 4481: 4430: 4089: 3682: 3328: 3151: 2526: 1978: 1886: 1683:
and is primarily used for research on generated type systems and language extensions.
875: 779: 619: 590: 554: 531: 487: 160: 84: 63:, Dave Barton, Brian Boutel, Warren Burton, Joseph Fasel, Kevin Hammond, Ralf Hinze, 4467: 4158:
The Haskell School of Expression: Learning Functional Programming through Multimedia
3863: 3628:
Parsing, analyzing, and comparing source code across many languages: github/semantic
3360: 3259: 1940:'s financial modelling language Mu is syntactic Haskell running on a strict runtime. 5628: 5467: 5106: 5086: 4442:
Proceedings of the third ACM SIGPLAN conference on History of programming languages
4085: 3116: 2518: 2436: 2434: 2432: 2430: 2428: 2426: 2424: 2422: 2420: 2418: 2255: 2098: 2065: 1904: 1848:
is a domain special language for live coding musical patterns, embedded in Haskell.
936: 904:: a general framework which can model various computations such as error handling, 626: 608: 524: 357: 3830: 3732: 3604: 1966: 1897:
embedded into Haskell. Further, Bluespec, Inc.'s tools are implemented in Haskell.
1752:, developed by Mark Jones. It is supplanted by Haskell User's Gofer System (Hugs). 1628:
Implementations that fully or nearly comply with the Haskell 98 standard include:
3214: 2991: 1865:
GarganText is a collaborative tool to map through semantic analysis texts on any
5231: 5116: 4728: 4521: 2761: 1950: 1890: 1866: 1845: 1725: 1636:(GHC) compiles to native code on many different processor architectures, and to 886: 612: 514: 291: 151: 3727: 3378: 2677: 2113:, a general purpose functional language with dependent types, developed at the 673:
In February 1999, the Haskell 98 language standard was originally published as
5536: 5157: 5066: 4803: 4418: 4324: 4152: 3707: 2968: 2955: 2120: 1870: 1721: 1441: 871: 855: 649: 510: 416: 64: 3226:
Wadler, P.; Blott, S. (1989). "How to make ad-hoc polymorphism less ad hoc".
1702:
HBC is an early implementation supporting Haskell 1.4. It was implemented by
5633: 4972: 4921: 4852: 4449: 3136: 2990:
O'Sullivan, Bryan; Goerzen, John; Stewart, Donald Bruce (15 November 2008).
2599: 2205: 1797: 1042:
function in Haskell, defined in a few different ways (the first line is the
1039: 4039: 3521: 2235: 2233: 2231: 4177: 4156: 3845: 3754: 644: 5277: 5253: 5227: 5111: 4759: 4705: 4572: 4213: 3899: 2644: 2126: 1910: 1883: 1823: 1807: 1696: 939: 412: 323: 5370: 4351: 3240: 593:
for such languages. The committee's purpose was to consolidate existing
327: 5516: 4847: 4672: 4262: 3712: 1900: 1707: 909: 728:(FFI) allows bindings to other programming languages. Only bindings to 589:, there was a strong consensus that a committee be formed to define an 352: 4532: 2738: 5593: 5561: 5445: 5020: 4958: 4953: 4915: 4858: 4341: 3626: 2716: 2652: 2209: 1927: 1851: 1813: 1657: 1637: 558: 3780:
Eager Haskell: Resource-bounded execution yields efficient iteration
2678:"Facebook Introduces 'Hack,' the Programming Language of the Future" 1675:
The Utrecht Haskell Compiler (UHC) is a Haskell implementation from
916:. They are defined as ordinary datatypes, but Haskell provides some 752:
had misleading semantics, in which the code looked like it used the
5491: 4065: 1327:
allows this function to be written without any explicit recursion.
782:
were added, allowing pattern matching within guards; resolution of
5501: 5462: 5440: 4933: 4909: 3098: 3096: 3094: 3050: 1781: 643: 528: 307: 270: 4401: 3538:
Toward a Research Agenda on Digital Media and Humanity Well-Being
3436: 1963:
stores' supply chain optimization software is written in Haskell.
1656:
standard Haskell dialect. There are libraries (e.g., bindings to
1652:(formerly Low Level Virtual Machine) bitcode. GHC has become the 5583: 5188: 3802: 3679:
A formal proof of functional correctness was completed in 2009.
1943: 1835: 1713:
nhc98 is a bytecode compiler focusing on minimizing memory use.
1649: 557:
for tutorials, and made up less than 1% of active users on the
5374: 5192: 4536: 4328: 4221: 4111:
An Introduction to Functional Programming Systems Using Haskell
3487: 3413: 3215:
Proposed compiler and language changes for GHC and GHC/Haskell
1081:-- Using recursion (with the "ifthenelse" expression) 5618: 5588: 4636: 3829:
Heeren, Bastiaan; Leijen, Daan; van IJzendoorn, Arjan (2003).
1801: 1717: 1645: 1046:, which is optional and is the same for each implementation): 900:
The construct that represents side effects is an example of a
474: 223: 3400: 3180: 2695: 2440: 2377: 2239: 1660:) that work only with GHC. GHC was also distributed with the 1006:-- not needed in interpreter, is the default in a module file 705:, was announced in November 2009 and published in July 2010. 3650:"Commercial Users of Functional Programming Workshop Report" 2335: 2333: 2331: 1748:
is an educational dialect of Haskell, with a feature called
4339:
Learn You a Haskell for Great Good! - A community version (
2938: 2936: 2934: 2873: 2329: 2327: 2325: 2323: 2321: 2319: 2317: 2315: 2313: 2311: 2144:, a functional/logic programming language based on Haskell. 1449:-- Type annotation (optional, same for each implementation) 1444:
over lists, where the first element is taken as the pivot:
4498: 3389: 583:
Functional Programming Languages and Computer Architecture
870:. A distinct construct exists to represent side effects, 465: 4380:
Assumes far less prior knowledge than official tutorial.
1903:, a language and toolchain for developing and verifying 1889:(BSV) is a language extension of Haskell, for designing 4197:
O'Sullivan, Bryan; Stewart, Don; Goerzen, John (2008).
3838:
Proceedings of the 2003 ACM SIGPLAN workshop on Haskell
1687:
Implementations no longer actively maintained include:
983:
in Haskell (only the last line is strictly necessary):
950:
also highlights its high-performance implementation of
866:
language, which means that functions generally have no
4403:
Thinking with Types: Type-Level Programming in Haskell
2595:"Turn up your nose at Dart and smell the CoffeeScript" 677:. In January 2003, a revised version was published as 4510: 4067:
Haskell 98 Language and Libraries: The Revised Report
2901:"anybody can tell me the pronunciation of "haskell"?" 1437:(a 456,574-digit number), with no loss of precision. 834:
Glasgow Haskell Compiler § Extensions to Haskell
681:. The language continues to evolve rapidly, with the 679:
Haskell 98 Language and Libraries: The Revised Report
471: 468: 197: 4134:
Introduction to Functional Programming using Haskell
4008:"Announcing cabal new-build: Nix-style local builds" 3132:"Wearing the hair shirt: a retrospective on Haskell" 2155:, a version of Haskell with type system support for 2129:, a strict language that allows introduction of new 1816:
is a tool to convert one markup format into another.
1738:
Eta and Frege are dialects of Haskell targeting the
1246:-- Using a list and the "product" function 5267: 5226: 5019: 5010: 4994: 4868: 4838: 4813: 4780: 4744: 4647: 4580: 4571: 4027: 3922:
Type Inference and Optimisation for an Impure World
3359:Terei, David A.; Chakravarty, Manuel M. T. (2010). 1724:backend, allowing users to run Haskell programs in 1710:. It has not been actively developed for some time. 897:to the language, but since finding many more uses. 778:issues (changes in the formal grammar) were fixed: 462: 459: 313: 244: 230: 206: 192: 182: 170: 150: 134: 112: 90: 54: 42: 4242: 3798:Wearing the hair shirt: a retrospective on Haskell 2184:International Conference on Functional Programming 923:Haskell has an open, published specification, and 771:were relaxed to allow more programs to type check. 733:Addendum to the Haskell 98 Report and widely used. 3694:22nd ACM Symposium on Operating System Principles 3365:Proceedings of ACM SIGPLAN Haskell Symposium 2010 1810:Linux chose Haskell for system tools development. 1621:All listed implementations are distributed under 2996:. "O'Reilly Media, Inc.". pp. xxviii–xxxi. 83:, John Peterson, Alastair Reid, Colin Runciman, 3675: 3673: 3671: 3669: 3074:"Ranking Programming Languages by GitHub Users" 3043:"PYPL PopularitY of Programming Language index" 2283: 2281: 4329:"A Gentle Introduction To Haskell, Version 98" 3535:David, Chavalarias; et al. (8 May 2023). 2290:"ANN: Haskell Prime 2020 committee has formed" 1261:-- Using fold (implements "product") 1021:-- the compiler can infer this type definition 756:operator, but in fact desugared to code using 685:(GHC) implementation representing the current 5386: 5204: 4548: 4327:; Peterson, John; Fasel, Joseph (June 2000). 3458:"Linspire/Freespire Core OS Team and Haskell" 3279:Proceedings of the Joint CS/CE Winter Meeting 3117:"How to make ad-hoc polymorphism less ad hoc" 2647:; Granicz, Adam; Cisternino, Antonio (2007). 2049:, which became the default with version 3.0. 1778:and packaging Haskell libraries and programs. 1440:An implementation of an algorithm similar to 8: 4223:Haskell: The Craft of Functional Programming 3102: 2942: 2451: 2449: 2339: 28: 4477:"The A-Z of Programming Languages: Haskell" 3687:"seL4: Formal verification of an OS kernel" 3579:"Open-sourcing Haxl, a library for Haskell" 2993:Real World Haskell: Code You Can Believe In 1800:is a tool to manage (big) data files under 5659: 5393: 5379: 5371: 5241: 5211: 5197: 5189: 5016: 4653: 4592: 4577: 4555: 4541: 4533: 4503: 2199:Commercial Users of Functional Programming 1138:-- Using recursion (with pattern matching) 27: 3239: 2956:Edward Kmett – Type Classes vs. the World 2468: 2250: 2248: 4161:. New York: Cambridge University Press. 3418:, Agda Github Community, 15 October 2021 2215:Starting in 2006, a series of organized 1768:is a proof assistant written in Haskell. 1515:-- Insert pivot between two sorted parts 1433:, this code will compute values such as 4517: 2354:"Dependently Typed Programming in Agda" 2227: 662:In late 1997, the series culminated in 545:are historically based on those of the 534:. Haskell's main implementation is the 5748:Statically typed programming languages 5738:Pattern matching programming languages 4371: 4360: 2540: 1907:algorithms, is implemented in Haskell. 5743:Programming languages created in 1990 4475:Hamilton, Naomi (19 September 2008). 4137:(2nd ed.). Prentice Hall Press. 3306:. Hackage.haskell.org. Archived from 3022:Serokell Software Development Company 2696:"Idris, a dependently typed language" 2395:"Design of Concept Libraries for C++" 2024:Ben Lippmeier designed Disciple as a 948:The Computer Language Benchmarks Game 7: 2133:, and programming at the type level. 924: 5728:Haskell programming language family 4245:Learn You a Haskell for Great Good! 3784:Association for Computing Machinery 3681:Klein, Gerwin; Elphinstone, Kevin; 2621:"Declarative programming in Escher" 2165:, a strict functional language for 1479:-- The empty list is already sorted 5339:Category:Mathematical philosophers 4274:Thinking Functionally with Haskell 4249:. San Francisco: No Starch Press. 3786:(ACM) SIGPLAN workshop on Haskell. 3708:"Tikhon Jelvis: Haskell at Target" 2899:Chevalier, Tim (28 January 2008). 2593:Heller, Martin (18 October 2011). 2148:Notable Haskell variants include: 1521:-- Sort the right part of the list 744:patterns (definitions of the form 14: 5718:Educational programming languages 3377:C. Ryder and S. Thompson (2005). 3292:Computer Language Benchmarks Game 3018:"Haskell in Production: Riskbook" 2822:"Influences - The Rust Reference" 2359:. Gothenburg: Chalmers University 2288:Riedel, Herbert (28 April 2016). 2137:Other related languages include: 2009:Jan-Willem Maessen, in 2002, and 1691:The Haskell User's Gofer System ( 1506:-- Sort the left part of the list 5687: 5686: 5658: 5353: 5352: 5343: 5342: 5333: 5332: 5304: 5172: 5171: 5162: 5161: 5151: 4985: 4520: 4226:(3rd ed.). Addison-Wesley. 3967: 3945: 3201:GHC 2020 Team (29 October 2021) 2925:Type inference originally using 2846:Fogus, Michael (6 August 2010). 1186:-- Using recursion (with guards) 975:Haskell features § Examples 944:generalized algebraic data types 455: 119:Haskell 2010 / July 2010 34: 4384:Yorgey, Brent (12 March 2009). 3960:Robert Harper (16 April 2011). 3938:Robert Harper (25 April 2011). 3152:"Haskell Wiki: Implementations" 3115:Wadler, Philip (October 1988). 2484:Meijer, Erik (1 October 2009). 2192:(formerly the Haskell Workshop) 1869:, written fully in Haskell and 927:. Its main implementation, the 748:) were no longer allowed. This 71:, Thomas Johnsson, Mark Jones, 16:Functional programming language 5713:Academic programming languages 4352:"Yet Another Haskell Tutorial" 4302:. Cambridge University Press. 4276:. Cambridge University Press. 4241:Lipovača, Miran (April 2011). 4182:. Cambridge University Press. 4113:. Cambridge University Press. 4070:. Cambridge University Press. 3926:Australian National University 3902:. Haskell.org. 3 December 2010 3831:"Helium, for learning Haskell" 3755:"Web/Frameworks – HaskellWiki" 2967:Mossberg, Erik (8 June 2020), 2872:Lattner, Chris (3 June 2014). 2848:"MartinOdersky take(5) toList" 2788:"Glossary of Terms and Jargon" 2762:"Functional Programming HOWTO" 1648:, or in more recent versions, 925:multiple implementations exist 1: 4300:Algorithm Design with Haskell 3488:"Live code with Tidal Cycles" 3379:"Porting HaRe to the GHC API" 3273:Hallgren, T. (January 2001). 2927:Hindley-Milner type inference 2517:Drobi, Sadek (4 March 2009). 2402:Software Language Engineering 2195:Haskell Implementors Workshop 2078:, a functional language with 1981:written for Haskell include: 914:software transactional memory 891:Hindley–Milner type inference 864:purely functional programming 506: 4091:Haskell 2010 Language Report 3928:(2010) PhD thesis, chapter 1 3553:"Fighting spam with Haskell" 3130:Peyton Jones, Simon (2003). 2768:. Python Software Foundation 1470:-- Using list comprehensions 5249:Curry–Howard correspondence 3462:Debian Haskell mailing list 2792:Perl Foundation Perl 6 Wiki 2766:Python v2.7.2 documentation 2494:. Microsoft. Archived from 1922:Cardano blockchain platform 1862:, written fully in Haskell. 1716:The York Haskell Compiler ( 746:fact (n+1) = (n+1) * fact n 141:Haskell 2020 announced 121:; 14 years ago 96:; 34 years ago 5764: 4342:learnyouahaskell.github.io 3782:. Proceedings of the 2002 3728:"Why Co–Star uses Haskell" 3464:. May 2006. Archived from 3049:. May 2021. Archived from 2874:"Chris Lattner's Homepage" 1924:is implemented in Haskell. 972: 831: 825: 726:foreign function interface 18: 5654: 5431: 5408: 5313: 5302: 5244: 5135: 4983: 4899: 4656: 4595: 4040:"Hackathon – HaskellWiki" 3361:"An LLVM Backend for GHC" 2393:; Sutton, Andrew (2011). 2260:"Announcing Haskell 2010" 2175:Conferences and workshops 2123:transpiles to JavaScript. 1033:"Hello, World!" 618:, were first proposed by 318: 249: 237: 214: 146: 108: 33: 4606:Glasgow Haskell Compiler 4220:Thompson, Simon (2011). 4201:. Sebastopol: O'Reilly. 3696:. Big Sky, Montana, USA. 3390:Utrecht Haskell Compiler 2970:erkmos/haskell-companies 2717:"LiveScript Inspiration" 2547:: CS1 maint: location ( 2115:University of St Andrews 2068:(I/O) and side effects. 1895:domain-specific language 1893:. It is an example of a 1792:Glasgow Haskell Compiler 1634:Glasgow Haskell Compiler 1446: 1329: 1048: 985: 929:Glasgow Haskell Compiler 683:Glasgow Haskell Compiler 561:source code repository. 536:Glasgow Haskell Compiler 527:(IO). It is named after 21:Haskell (disambiguation) 5349:Category:Mathematicians 4450:10.1145/1238844.1238856 4400:Maguire, Sandy (2018). 4176:Hutton, Graham (2007). 3940:"The point of laziness" 3078:www.benfrederickson.com 2739:"PureScript by Example" 2088:, with dependent types. 1786:revision control system 981:"Hello, World!" program 581:. At the conference on 4435:"A history of Haskell" 4370:Cite journal requires 4179:Programming in Haskell 4109:Davie, Antony (1992). 3878:"Helium Compiler Docs" 3304:"HackageDB statistics" 2737:Freeman, Phil (2016). 2064:instead of monads for 2037:Haskell's build tool, 1670:Ajhc is a fork of Jhc. 1642:intermediate languages 1325:Fixed-point combinator 654: 5402:Programming languages 5269:Programming languages 4632:York Haskell Compiler 4386:"The Typeclassopedia" 3962:"Modules matter most" 3846:10.1145/871895.871902 3631:, GitHub, 7 June 2019 3173:"Welcome to Haskell'" 2519:"Erik Meijer on LINQ" 2380:, pp. 12–38, 43. 1838:6, but since renamed 889:type system based on 675:The Haskell 98 Report 647: 569:After the release of 5733:Literate programming 5723:Functional languages 5328:Open-source software 5237:computer programming 5147:Open-source software 4527:Computer programming 4444:. pp. 12–1–55. 3983:"Solving Cabal Hell" 3795:Simon Peyton Jones. 3778:Jan-Willem Maessen. 2852:Send More Paramedics 2659:sequence expressions 2443:, pp. 12-45–46. 2411:on 10 February 2012. 2352:Norell, Ulf (2008). 2258:(24 November 2009). 1915:open-source software 1832:programming language 1760:Notable applications 1740:Java virtual machine 1623:open source licenses 878:of other languages. 616:operator overloading 595:functional languages 579:proprietary software 518:operator overloading 495:programming language 19:For other uses, see 4427:Peyton Jones, Simon 4062:Peyton Jones, Simon 3900:"DDC – HaskellWiki" 3522:"Gargantext – Main" 3468:on 27 December 2017 3437:"The Haskell Cabal" 3331:at the Haskell Wiki 3241:10.1145/75277.75283 3183:on 20 February 2016 3072:Frederickson, Ben. 2796:The Perl Foundation 2564:"Clojure Bookshelf" 2208:held every year in 2157:generic programming 1750:constructor classes 1431:arbitrary-precision 1288:-- Point-free style 946:and type families. 184:Filename extensions 91:First appeared 30: 5359:Category:Logicians 5102:Simon Peyton Jones 5047:Lennart Augustsson 5002:Real World Haskell 4667:Concurrent Haskell 4214:Real World Haskell 4199:Real World Haskell 3840:. pp. 62–71. 3801:. Invited talk at 3342:"The LLVM Backend" 3281:. Varberg, Sweden. 3234:. pp. 60–76. 2826:The Rust Reference 2802:on 21 January 2012 2391:Stroustrup, Bjarne 2011:Simon Peyton Jones 1938:Standard Chartered 1706:in, and based on, 1704:Lennart Augustsson 1681:attribute grammars 1677:Utrecht University 931:(GHC), is both an 852:list comprehension 844:lambda expressions 655: 601:Haskell 1.0 to 1.4 73:Simon Peyton Jones 61:Lennart Augustsson 5700: 5699: 5682:Non-English-based 5368: 5367: 5300: 5299: 5186: 5185: 5178:Category:Software 5037: 5036: 4981: 4980: 4840:Windowing systems 4776: 4775: 4772: 4771: 4746:Electronic design 4459:978-1-59593-766-7 4309:978-1-108-49161-7 4283:978-1-107-45264-0 4256:978-1-59327-283-8 4208:978-0-596-51498-3 4144:978-0-13-484346-9 4120:978-0-521-25830-2 3403:, pp. 12–22. 3401:Hudak et al. 2007 3329:"Implementations" 3251:978-0-89791-294-5 3177:The Haskell' Wiki 3103:Peyton Jones 2003 3003:978-0-596-55430-9 2943:Peyton Jones 2003 2574:on 3 October 2017 2529:2008: C4Media Inc 2441:Hudak et al. 2007 2378:Hudak et al. 2007 2340:Peyton Jones 2003 2240:Hudak et al. 2007 2204:ZuriHac, kind of 2190:Haskell Symposium 2053:Related languages 2026:strict-by-default 1948:formally verified 1640:, via one of two 860:type polymorphism 838:Haskell features 492:purely functional 448: 447: 152:Typing discipline 49:Purely functional 5755: 5690: 5689: 5662: 5661: 5395: 5388: 5381: 5372: 5356: 5355: 5346: 5345: 5336: 5335: 5308: 5242: 5213: 5206: 5199: 5190: 5175: 5174: 5165: 5164: 5155: 5062:Andrew D. Gordon 5017: 4989: 4815:Package managers 4791:Haskell Platform 4654: 4612:Template Haskell 4593: 4578: 4557: 4550: 4543: 4534: 4525: 4524: 4516: 4507: 4502: 4501: 4499:Official website 4486: 4471: 4439: 4407: 4396: 4393:The Monad.Reader 4390: 4379: 4373: 4368: 4366: 4358: 4356: 4350:Daumé, Hal III. 4336: 4313: 4287: 4260: 4248: 4237: 4212: 4193: 4172: 4148: 4124: 4098: 4096: 4081: 4044: 4043: 4036: 4030: 4028:https://zfoh.ch/ 4025: 4019: 4018: 4016: 4014: 4004: 3998: 3997: 3995: 3993: 3987:www.yesodweb.com 3979: 3973: 3972: 3971: 3965: 3957: 3951: 3950: 3949: 3943: 3935: 3929: 3918: 3912: 3911: 3909: 3907: 3896: 3890: 3889: 3887: 3885: 3874: 3868: 3867: 3835: 3826: 3820: 3819: 3812: 3806: 3793: 3787: 3776: 3770: 3769: 3767: 3765: 3759:wiki.haskell.org 3751: 3745: 3744: 3742: 3740: 3724: 3718: 3717: 3716:. 22 April 2017. 3704: 3698: 3697: 3691: 3677: 3664: 3663: 3661: 3659: 3654: 3646: 3640: 3639: 3638: 3636: 3623: 3617: 3616: 3614: 3612: 3601: 3595: 3594: 3592: 3590: 3575: 3569: 3568: 3566: 3564: 3549: 3543: 3542: 3532: 3526: 3525: 3518: 3512: 3509: 3503: 3502: 3500: 3498: 3484: 3478: 3477: 3475: 3473: 3454: 3448: 3447: 3445: 3443: 3433: 3427: 3426: 3425: 3423: 3410: 3404: 3398: 3392: 3387: 3381: 3375: 3369: 3368: 3356: 3350: 3349: 3348:. 29 March 2019. 3338: 3332: 3326: 3320: 3319: 3317: 3315: 3300: 3294: 3289: 3283: 3282: 3270: 3264: 3263: 3243: 3223: 3217: 3212: 3206: 3199: 3193: 3192: 3190: 3188: 3179:. Archived from 3169: 3163: 3162: 3160: 3158: 3148: 3142: 3141: 3127: 3121: 3120: 3112: 3106: 3100: 3089: 3088: 3086: 3084: 3069: 3063: 3062: 3060: 3058: 3039: 3033: 3032: 3030: 3028: 3014: 3008: 3007: 2987: 2981: 2980: 2979: 2977: 2964: 2958: 2952: 2946: 2940: 2929: 2923: 2917: 2916: 2914: 2912: 2896: 2890: 2889: 2883: 2881: 2869: 2863: 2862: 2860: 2858: 2843: 2837: 2836: 2834: 2832: 2818: 2812: 2811: 2809: 2807: 2798:. Archived from 2784: 2778: 2777: 2775: 2773: 2760:Kuchling, A. M. 2757: 2751: 2750: 2748: 2746: 2734: 2728: 2727: 2725: 2723: 2713: 2707: 2706: 2704: 2702: 2692: 2686: 2685: 2684:. 20 March 2014. 2674: 2668: 2667: 2641: 2635: 2634: 2632: 2630: 2625: 2617: 2611: 2610: 2608: 2607: 2590: 2584: 2583: 2581: 2579: 2570:. Archived from 2559: 2553: 2552: 2546: 2538: 2536: 2534: 2514: 2508: 2507: 2505: 2503: 2481: 2475: 2474: 2472: 2453: 2444: 2438: 2413: 2412: 2410: 2404:. Archived from 2399: 2387: 2381: 2375: 2369: 2368: 2366: 2364: 2358: 2349: 2343: 2337: 2306: 2305: 2303: 2301: 2285: 2276: 2275: 2273: 2271: 2252: 2243: 2237: 2167:embedded systems 2062:uniqueness types 1662:Haskell platform 1612: 1609: 1606: 1603: 1600: 1597: 1594: 1591: 1588: 1585: 1582: 1579: 1576: 1573: 1570: 1567: 1564: 1561: 1558: 1555: 1552: 1549: 1546: 1543: 1540: 1537: 1534: 1531: 1528: 1525: 1522: 1519: 1516: 1513: 1510: 1507: 1504: 1501: 1498: 1495: 1492: 1489: 1486: 1483: 1480: 1477: 1474: 1471: 1468: 1465: 1462: 1459: 1456: 1453: 1450: 1436: 1435:factorial 100000 1420: 1417: 1414: 1411: 1408: 1405: 1402: 1399: 1396: 1393: 1390: 1387: 1384: 1381: 1378: 1375: 1372: 1369: 1366: 1363: 1360: 1357: 1354: 1351: 1348: 1345: 1342: 1339: 1336: 1333: 1323:Using Haskell's 1319: 1316: 1313: 1310: 1307: 1304: 1301: 1298: 1295: 1292: 1289: 1286: 1283: 1280: 1277: 1274: 1271: 1268: 1265: 1262: 1259: 1256: 1253: 1250: 1247: 1244: 1241: 1238: 1235: 1232: 1229: 1226: 1223: 1220: 1217: 1214: 1211: 1208: 1205: 1202: 1199: 1196: 1193: 1190: 1187: 1184: 1181: 1178: 1175: 1172: 1169: 1166: 1163: 1160: 1157: 1154: 1151: 1148: 1145: 1142: 1139: 1136: 1133: 1130: 1127: 1124: 1121: 1118: 1115: 1112: 1109: 1106: 1103: 1100: 1097: 1094: 1091: 1088: 1085: 1082: 1079: 1076: 1073: 1070: 1067: 1064: 1061: 1058: 1055: 1052: 1034: 1031: 1028: 1025: 1022: 1019: 1016: 1013: 1010: 1007: 1004: 1001: 998: 995: 992: 989: 876:impure functions 848:pattern matching 828:Haskell features 813:Future standards 807: 803: 796: 763: 759: 755: 747: 720: 716: 587:Portland, Oregon 488:statically-typed 481: 480: 477: 476: 473: 470: 467: 464: 461: 443:Visual Basic 9.0 202: 199: 129: 127: 122: 104: 102: 97: 56:Designed by 38: 31: 5763: 5762: 5758: 5757: 5756: 5754: 5753: 5752: 5703: 5702: 5701: 5696: 5650: 5427: 5404: 5399: 5369: 5364: 5331: 5309: 5296: 5263: 5259:Curry's paradox 5235: 5222: 5217: 5187: 5182: 5168:Category:Family 5150: 5131: 5082:John MacFarlane 5077:John Launchbury 5033: 5006: 4990: 4977: 4895: 4864: 4834: 4809: 4768: 4740: 4643: 4600:Generic Haskell 4584: 4582:Implementations 4567: 4561: 4531: 4519: 4511: 4497: 4496: 4493: 4474: 4460: 4437: 4417: 4399: 4388: 4383: 4369: 4359: 4354: 4349: 4323: 4310: 4296:Gibbons, Jeremy 4290: 4284: 4268: 4257: 4240: 4234: 4219: 4209: 4196: 4190: 4175: 4169: 4151: 4145: 4127: 4121: 4108: 4094: 4084: 4078: 4060: 4052: 4047: 4038: 4037: 4033: 4026: 4022: 4012: 4010: 4006: 4005: 4001: 3991: 3989: 3981: 3980: 3976: 3966: 3959: 3958: 3954: 3944: 3937: 3936: 3932: 3920:Ben Lippmeier, 3919: 3915: 3905: 3903: 3898: 3897: 3893: 3883: 3881: 3876: 3875: 3871: 3856: 3833: 3828: 3827: 3823: 3818:. 27 June 2006. 3814: 3813: 3809: 3794: 3790: 3777: 3773: 3763: 3761: 3753: 3752: 3748: 3738: 3736: 3726: 3725: 3721: 3706: 3705: 3701: 3689: 3680: 3678: 3667: 3657: 3655: 3652: 3648: 3647: 3643: 3634: 3632: 3625: 3624: 3620: 3610: 3608: 3603: 3602: 3598: 3588: 3586: 3577: 3576: 3572: 3562: 3560: 3551: 3550: 3546: 3534: 3533: 3529: 3524:. 13 July 2023. 3520: 3519: 3515: 3510: 3506: 3496: 3494: 3486: 3485: 3481: 3471: 3469: 3456: 3455: 3451: 3441: 3439: 3435: 3434: 3430: 3421: 3419: 3412: 3411: 3407: 3399: 3395: 3388: 3384: 3376: 3372: 3358: 3357: 3353: 3340: 3339: 3335: 3327: 3323: 3313: 3311: 3302: 3301: 3297: 3290: 3286: 3272: 3271: 3267: 3252: 3225: 3224: 3220: 3213: 3209: 3200: 3196: 3186: 3184: 3171: 3170: 3166: 3156: 3154: 3150: 3149: 3145: 3129: 3128: 3124: 3114: 3113: 3109: 3101: 3092: 3082: 3080: 3071: 3070: 3066: 3056: 3054: 3041: 3040: 3036: 3026: 3024: 3016: 3015: 3011: 3004: 2989: 2988: 2984: 2975: 2973: 2966: 2965: 2961: 2953: 2949: 2941: 2932: 2924: 2920: 2910: 2908: 2898: 2897: 2893: 2879: 2877: 2876:. Chris Lattner 2871: 2870: 2866: 2856: 2854: 2845: 2844: 2840: 2830: 2828: 2820: 2819: 2815: 2805: 2803: 2786: 2785: 2781: 2771: 2769: 2759: 2758: 2754: 2744: 2742: 2736: 2735: 2731: 2721: 2719: 2715: 2714: 2710: 2700: 2698: 2694: 2693: 2689: 2676: 2675: 2671: 2643: 2642: 2638: 2628: 2626: 2623: 2619: 2618: 2614: 2605: 2603: 2592: 2591: 2587: 2577: 2575: 2561: 2560: 2556: 2539: 2532: 2530: 2516: 2515: 2511: 2501: 2499: 2498:on 16 June 2012 2483: 2482: 2478: 2455: 2454: 2447: 2439: 2416: 2408: 2397: 2389: 2388: 2384: 2376: 2372: 2362: 2360: 2356: 2351: 2350: 2346: 2338: 2309: 2299: 2297: 2287: 2286: 2279: 2269: 2267: 2254: 2253: 2246: 2238: 2229: 2225: 2177: 2153:Generic Haskell 2080:dependent types 2055: 2007: 1975: 1880: 1860:X Window System 1762: 1619: 1617:Implementations 1614: 1613: 1610: 1607: 1604: 1601: 1598: 1595: 1592: 1589: 1586: 1583: 1580: 1577: 1574: 1571: 1568: 1565: 1562: 1559: 1556: 1553: 1550: 1547: 1544: 1541: 1538: 1535: 1532: 1529: 1526: 1524:-- Using filter 1523: 1520: 1517: 1514: 1511: 1508: 1505: 1502: 1499: 1496: 1493: 1490: 1487: 1484: 1481: 1478: 1475: 1472: 1469: 1466: 1463: 1460: 1457: 1454: 1451: 1448: 1434: 1424: 1422: 1421: 1418: 1415: 1412: 1409: 1406: 1403: 1400: 1397: 1394: 1391: 1388: 1385: 1382: 1379: 1376: 1373: 1370: 1367: 1364: 1361: 1358: 1355: 1352: 1349: 1346: 1343: 1340: 1337: 1334: 1331: 1321: 1320: 1317: 1314: 1311: 1308: 1305: 1302: 1299: 1296: 1293: 1290: 1287: 1284: 1281: 1278: 1275: 1272: 1269: 1266: 1263: 1260: 1257: 1254: 1251: 1248: 1245: 1242: 1239: 1236: 1233: 1230: 1227: 1224: 1221: 1218: 1215: 1212: 1209: 1206: 1203: 1200: 1197: 1194: 1191: 1188: 1185: 1182: 1179: 1176: 1173: 1170: 1167: 1164: 1161: 1158: 1155: 1152: 1149: 1146: 1143: 1140: 1137: 1134: 1131: 1128: 1125: 1122: 1119: 1116: 1113: 1110: 1107: 1104: 1101: 1098: 1095: 1092: 1089: 1086: 1083: 1080: 1077: 1074: 1071: 1068: 1065: 1062: 1059: 1056: 1053: 1050: 1044:type annotation 1036: 1035: 1032: 1029: 1026: 1023: 1020: 1017: 1014: 1011: 1008: 1005: 1002: 999: 996: 993: 990: 987: 977: 971: 920:for their use. 918:syntactic sugar 840:lazy evaluation 836: 830: 824: 815: 805: 801: 794: 784:operator fixity 761: 757: 753: 750:syntactic sugar 745: 718: 714: 695: 660: 611:, which enable 603: 567: 555:Google searches 513:, which enable 503:lazy evaluation 484:general-purpose 458: 454: 441: 428: 407: 390: 369: 356: 335: 282: 209:implementations 196: 142: 136:Preview release 130: 125: 123: 120: 100: 98: 95: 77:John Launchbury 24: 17: 12: 11: 5: 5761: 5759: 5751: 5750: 5745: 5740: 5735: 5730: 5725: 5720: 5715: 5705: 5704: 5698: 5697: 5695: 5694: 5684: 5679: 5674: 5669: 5655: 5652: 5651: 5649: 5648: 5641: 5636: 5631: 5626: 5621: 5616: 5611: 5606: 5601: 5596: 5591: 5586: 5581: 5580: 5579: 5569: 5564: 5559: 5554: 5549: 5544: 5539: 5534: 5529: 5524: 5519: 5514: 5509: 5504: 5499: 5494: 5489: 5484: 5483: 5482: 5481: 5480: 5475: 5460: 5455: 5450: 5449: 5448: 5438: 5432: 5429: 5428: 5426: 5425: 5420: 5415: 5409: 5406: 5405: 5400: 5398: 5397: 5390: 5383: 5375: 5366: 5365: 5363: 5362: 5323: 5321:= discontinued 5314: 5311: 5310: 5303: 5301: 5298: 5297: 5295: 5294: 5288: 5282: 5273: 5271: 5265: 5264: 5262: 5261: 5256: 5251: 5245: 5239: 5224: 5223: 5218: 5216: 5215: 5208: 5201: 5193: 5184: 5183: 5181: 5141:= discontinued 5136: 5133: 5132: 5130: 5129: 5124: 5122:Simon Thompson 5119: 5114: 5109: 5104: 5099: 5094: 5089: 5084: 5079: 5074: 5069: 5064: 5059: 5057:Jeremy Gibbons 5054: 5049: 5044: 5038: 5035: 5034: 5032: 5031: 5025: 5023: 5014: 5008: 5007: 5005: 5004: 4998: 4996: 4992: 4991: 4984: 4982: 4979: 4978: 4976: 4975: 4970: 4962: 4956: 4951: 4948:Liquid Haskell 4945: 4937: 4931: 4925: 4919: 4913: 4907: 4900: 4897: 4896: 4894: 4893: 4887: 4881: 4874: 4872: 4870:Web frameworks 4866: 4865: 4863: 4862: 4856: 4850: 4844: 4842: 4836: 4835: 4833: 4832: 4826: 4819: 4817: 4811: 4810: 4808: 4807: 4801: 4795: 4786: 4784: 4778: 4777: 4774: 4773: 4770: 4769: 4767: 4766: 4757: 4750: 4748: 4742: 4741: 4739: 4738: 4732: 4726: 4718: 4710: 4702: 4696: 4688: 4682: 4676: 4670: 4664: 4657: 4651: 4645: 4644: 4642: 4641: 4629: 4617: 4616: 4615: 4603: 4596: 4590: 4575: 4569: 4568: 4562: 4560: 4559: 4552: 4545: 4537: 4530: 4529: 4509: 4508: 4492: 4491:External links 4489: 4488: 4487: 4472: 4458: 4431:Wadler, Philip 4414: 4413: 4409: 4408: 4397: 4381: 4372:|journal= 4347: 4337: 4320: 4319: 4315: 4314: 4308: 4288: 4282: 4266: 4255: 4238: 4233:978-0201882957 4232: 4217: 4207: 4194: 4189:978-0521692694 4188: 4173: 4168:978-0521643382 4167: 4149: 4143: 4125: 4119: 4105: 4104: 4100: 4099: 4097:. Haskell.org. 4088:, ed. (2010). 4082: 4077:978-0521826143 4076: 4064:, ed. (2003). 4057: 4056: 4051: 4048: 4046: 4045: 4031: 4020: 3999: 3974: 3952: 3930: 3913: 3891: 3869: 3854: 3821: 3807: 3788: 3771: 3746: 3719: 3699: 3683:Heiser, Gernot 3665: 3641: 3618: 3596: 3585:. 10 June 2014 3570: 3559:. 26 June 2015 3544: 3527: 3513: 3504: 3479: 3449: 3428: 3405: 3393: 3382: 3370: 3351: 3333: 3321: 3295: 3284: 3265: 3250: 3218: 3207: 3194: 3164: 3143: 3122: 3107: 3090: 3064: 3047:pypl.github.io 3034: 3009: 3002: 2982: 2959: 2954:Edward Kmett, 2947: 2930: 2918: 2907:(Mailing list) 2891: 2864: 2838: 2813: 2779: 2752: 2729: 2708: 2687: 2669: 2636: 2612: 2585: 2562:Hickey, Rich. 2554: 2509: 2476: 2445: 2414: 2382: 2370: 2344: 2307: 2296:(Mailing list) 2277: 2266:(Mailing list) 2244: 2226: 2224: 2221: 2213: 2212: 2202: 2196: 2193: 2187: 2176: 2173: 2172: 2171: 2160: 2146: 2145: 2135: 2134: 2124: 2118: 2108: 2102: 2089: 2083: 2054: 2051: 2006: 2003: 2002: 2001: 1996: 1991: 1986: 1979:web frameworks 1974: 1971: 1970: 1969: 1964: 1958: 1941: 1935: 1925: 1918: 1908: 1898: 1879: 1876: 1875: 1874: 1863: 1856:window manager 1849: 1843: 1817: 1811: 1805: 1795: 1789: 1779: 1774:is a tool for 1769: 1761: 1758: 1757: 1756: 1753: 1743: 1732: 1731: 1730: 1729: 1711: 1700: 1685: 1684: 1673: 1672: 1671: 1665: 1618: 1615: 1447: 1330: 1049: 986: 970: 967: 906:nondeterminism 881:Haskell has a 826:Main article: 823: 820: 814: 811: 810: 809: 791: 788:lexical syntax 780:pattern guards 772: 769:type inference 765: 734: 722: 694: 691: 659: 656: 602: 599: 585:(FPCA '87) in 566: 563: 499:type inference 446: 445: 316: 315: 311: 310: 247: 246: 242: 241: 235: 234: 228: 227: 212: 211: 204: 203: 194: 190: 189: 186: 180: 179: 177:Cross-platform 174: 168: 167: 154: 148: 147: 144: 143: 140: 138: 132: 131: 118: 116: 114:Stable release 110: 109: 106: 105: 92: 88: 87: 58: 52: 51: 46: 40: 39: 15: 13: 10: 9: 6: 4: 3: 2: 5760: 5749: 5746: 5744: 5741: 5739: 5736: 5734: 5731: 5729: 5726: 5724: 5721: 5719: 5716: 5714: 5711: 5710: 5708: 5693: 5685: 5683: 5680: 5678: 5675: 5673: 5670: 5668: 5665: 5657: 5656: 5653: 5647: 5646: 5642: 5640: 5637: 5635: 5632: 5630: 5627: 5625: 5622: 5620: 5617: 5615: 5612: 5610: 5607: 5605: 5602: 5600: 5597: 5595: 5592: 5590: 5587: 5585: 5582: 5578: 5577:Object Pascal 5575: 5574: 5573: 5570: 5568: 5565: 5563: 5560: 5558: 5555: 5553: 5550: 5548: 5545: 5543: 5540: 5538: 5535: 5533: 5530: 5528: 5525: 5523: 5520: 5518: 5515: 5513: 5510: 5508: 5505: 5503: 5500: 5498: 5495: 5493: 5490: 5488: 5485: 5479: 5476: 5474: 5471: 5470: 5469: 5466: 5465: 5464: 5461: 5459: 5456: 5454: 5451: 5447: 5444: 5443: 5442: 5439: 5437: 5434: 5433: 5430: 5424: 5421: 5419: 5416: 5414: 5411: 5410: 5407: 5403: 5396: 5391: 5389: 5384: 5382: 5377: 5376: 5373: 5361: 5360: 5351: 5350: 5341: 5340: 5330: 5329: 5324: 5322: 5319: 5316: 5315: 5312: 5307: 5292: 5289: 5286: 5283: 5280: 5279: 5275: 5274: 5272: 5270: 5266: 5260: 5257: 5255: 5252: 5250: 5247: 5246: 5243: 5240: 5238: 5233: 5229: 5225: 5221: 5220:Haskell Curry 5214: 5209: 5207: 5202: 5200: 5195: 5194: 5191: 5180: 5179: 5170: 5169: 5160: 5159: 5154: 5149: 5148: 5143: 5142: 5139: 5134: 5128: 5127:Philip Wadler 5125: 5123: 5120: 5118: 5115: 5113: 5110: 5108: 5105: 5103: 5100: 5098: 5095: 5093: 5092:Conor McBride 5090: 5088: 5085: 5083: 5080: 5078: 5075: 5073: 5070: 5068: 5065: 5063: 5060: 5058: 5055: 5053: 5050: 5048: 5045: 5043: 5040: 5039: 5030: 5029:Haskell Curry 5027: 5026: 5024: 5022: 5018: 5015: 5013: 5009: 5003: 5000: 4999: 4997: 4993: 4988: 4974: 4971: 4968: 4967: 4963: 4960: 4957: 4955: 4952: 4949: 4946: 4943: 4942: 4938: 4935: 4932: 4929: 4926: 4923: 4920: 4917: 4914: 4911: 4908: 4905: 4902: 4901: 4898: 4891: 4888: 4885: 4882: 4879: 4876: 4875: 4873: 4871: 4867: 4860: 4857: 4854: 4851: 4849: 4846: 4845: 4843: 4841: 4837: 4830: 4827: 4824: 4821: 4820: 4818: 4816: 4812: 4805: 4802: 4799: 4796: 4793: 4792: 4788: 4787: 4785: 4783: 4779: 4764: 4763:SystemVerilog 4761: 4758: 4755: 4752: 4751: 4749: 4747: 4743: 4736: 4733: 4730: 4727: 4724: 4723: 4719: 4716: 4715: 4711: 4708: 4707: 4703: 4700: 4697: 4694: 4693: 4689: 4686: 4683: 4680: 4677: 4674: 4671: 4668: 4665: 4662: 4659: 4658: 4655: 4652: 4650: 4646: 4639: 4638: 4633: 4630: 4627: 4623: 4622: 4618: 4613: 4610: 4609: 4607: 4604: 4601: 4598: 4597: 4594: 4591: 4588: 4583: 4579: 4576: 4574: 4570: 4565: 4558: 4553: 4551: 4546: 4544: 4539: 4538: 4535: 4528: 4523: 4518: 4514: 4506: 4500: 4495: 4494: 4490: 4484: 4483: 4482:Computerworld 4478: 4473: 4469: 4465: 4461: 4455: 4451: 4447: 4443: 4436: 4432: 4428: 4424: 4420: 4416: 4415: 4411: 4410: 4405: 4404: 4398: 4394: 4387: 4382: 4377: 4364: 4353: 4348: 4345: 4343: 4338: 4334: 4330: 4326: 4322: 4321: 4317: 4316: 4311: 4305: 4301: 4298:(July 2020). 4297: 4293: 4292:Bird, Richard 4289: 4285: 4279: 4275: 4271: 4270:Bird, Richard 4267: 4264: 4258: 4252: 4247: 4246: 4239: 4235: 4229: 4225: 4224: 4218: 4215: 4210: 4204: 4200: 4195: 4191: 4185: 4181: 4180: 4174: 4170: 4164: 4160: 4159: 4154: 4150: 4146: 4140: 4136: 4135: 4130: 4129:Bird, Richard 4126: 4122: 4116: 4112: 4107: 4106: 4102: 4101: 4093: 4092: 4087: 4086:Marlow, Simon 4083: 4079: 4073: 4069: 4068: 4063: 4059: 4058: 4054: 4053: 4049: 4041: 4035: 4032: 4029: 4024: 4021: 4009: 4003: 4000: 3988: 3984: 3978: 3975: 3970: 3963: 3956: 3953: 3948: 3941: 3934: 3931: 3927: 3923: 3917: 3914: 3901: 3895: 3892: 3879: 3873: 3870: 3865: 3861: 3857: 3851: 3847: 3843: 3839: 3832: 3825: 3822: 3817: 3811: 3808: 3804: 3800: 3799: 3792: 3789: 3785: 3781: 3775: 3772: 3760: 3756: 3750: 3747: 3735: 3734: 3729: 3723: 3720: 3715: 3714: 3709: 3703: 3700: 3695: 3688: 3684: 3676: 3674: 3672: 3670: 3666: 3651: 3645: 3642: 3630: 3629: 3622: 3619: 3606: 3600: 3597: 3584: 3583:Facebook Code 3580: 3574: 3571: 3558: 3557:Facebook Code 3554: 3548: 3545: 3540: 3539: 3531: 3528: 3523: 3517: 3514: 3508: 3505: 3493: 3489: 3483: 3480: 3467: 3463: 3459: 3453: 3450: 3438: 3432: 3429: 3417: 3416: 3409: 3406: 3402: 3397: 3394: 3391: 3386: 3383: 3380: 3374: 3371: 3366: 3362: 3355: 3352: 3347: 3343: 3337: 3334: 3330: 3325: 3322: 3310:on 3 May 2013 3309: 3305: 3299: 3296: 3293: 3288: 3285: 3280: 3276: 3269: 3266: 3261: 3257: 3253: 3247: 3242: 3237: 3233: 3229: 3222: 3219: 3216: 3211: 3208: 3204: 3198: 3195: 3182: 3178: 3174: 3168: 3165: 3153: 3147: 3144: 3139: 3138: 3133: 3126: 3123: 3118: 3111: 3108: 3104: 3099: 3097: 3095: 3091: 3079: 3075: 3068: 3065: 3053:on 7 May 2021 3052: 3048: 3044: 3038: 3035: 3023: 3019: 3013: 3010: 3005: 2999: 2995: 2994: 2986: 2983: 2972: 2971: 2963: 2960: 2957: 2951: 2948: 2944: 2939: 2937: 2935: 2931: 2928: 2922: 2919: 2906: 2902: 2895: 2892: 2888: 2875: 2868: 2865: 2853: 2849: 2842: 2839: 2827: 2823: 2817: 2814: 2801: 2797: 2793: 2789: 2783: 2780: 2767: 2763: 2756: 2753: 2740: 2733: 2730: 2718: 2712: 2709: 2697: 2691: 2688: 2683: 2679: 2673: 2670: 2666: 2664: 2660: 2655:. p. 2. 2654: 2650: 2646: 2640: 2637: 2622: 2616: 2613: 2602: 2601: 2596: 2589: 2586: 2573: 2569: 2565: 2558: 2555: 2550: 2544: 2528: 2524: 2520: 2513: 2510: 2497: 2493: 2492: 2487: 2480: 2477: 2471: 2470:10.1.1.72.868 2466: 2462: 2458: 2452: 2450: 2446: 2442: 2437: 2435: 2433: 2431: 2429: 2427: 2425: 2423: 2421: 2419: 2415: 2407: 2403: 2396: 2392: 2386: 2383: 2379: 2374: 2371: 2355: 2348: 2345: 2341: 2336: 2334: 2332: 2330: 2328: 2326: 2324: 2322: 2320: 2318: 2316: 2314: 2312: 2308: 2295: 2294:Haskell-prime 2291: 2284: 2282: 2278: 2265: 2261: 2257: 2256:Marlow, Simon 2251: 2249: 2245: 2241: 2236: 2234: 2232: 2228: 2222: 2220: 2218: 2211: 2207: 2203: 2200: 2197: 2194: 2191: 2188: 2185: 2182: 2181: 2180: 2174: 2168: 2164: 2161: 2158: 2154: 2151: 2150: 2149: 2143: 2140: 2139: 2138: 2132: 2128: 2125: 2122: 2119: 2116: 2112: 2109: 2106: 2103: 2101:or instances. 2100: 2097: 2093: 2090: 2087: 2084: 2081: 2077: 2074: 2073: 2072: 2069: 2067: 2063: 2059: 2052: 2050: 2048: 2044: 2040: 2035: 2033: 2032:Robert Harper 2029: 2027: 2022: 2020: 2014: 2012: 2004: 2000: 1997: 1995: 1992: 1990: 1987: 1984: 1983: 1982: 1980: 1972: 1968: 1965: 1962: 1959: 1956: 1952: 1949: 1945: 1942: 1939: 1936: 1933: 1929: 1926: 1923: 1919: 1916: 1912: 1909: 1906: 1902: 1899: 1896: 1892: 1888: 1887:SystemVerilog 1885: 1882: 1881: 1877: 1872: 1868: 1864: 1861: 1857: 1853: 1850: 1847: 1844: 1841: 1837: 1833: 1829: 1825: 1821: 1818: 1815: 1812: 1809: 1806: 1803: 1799: 1796: 1793: 1790: 1787: 1783: 1780: 1777: 1773: 1770: 1767: 1764: 1763: 1759: 1754: 1751: 1747: 1744: 1741: 1737: 1736: 1735: 1727: 1723: 1719: 1715: 1714: 1712: 1709: 1705: 1701: 1698: 1694: 1690: 1689: 1688: 1682: 1678: 1674: 1669: 1668: 1666: 1663: 1659: 1655: 1651: 1647: 1643: 1639: 1635: 1631: 1630: 1629: 1626: 1624: 1616: 1445: 1443: 1438: 1432: 1428: 1335:Data.Function 1328: 1326: 1047: 1045: 1041: 984: 982: 976: 969:Code examples 968: 966: 964: 959: 957: 953: 949: 945: 941: 938: 934: 930: 926: 921: 919: 915: 911: 907: 903: 898: 896: 892: 888: 884: 879: 877: 873: 869: 865: 861: 857: 853: 849: 845: 841: 835: 829: 821: 819: 812: 799: 792: 789: 785: 781: 777: 773: 770: 767:The rules of 766: 751: 743: 739: 735: 731: 727: 723: 711: 710: 709: 706: 704: 700: 699:Haskell Prime 692: 690: 688: 684: 680: 676: 671: 669: 665: 657: 651: 648:Hierarchy of 646: 642: 639: 635: 632: 628: 623: 621: 620:Philip Wadler 617: 614: 610: 606: 600: 598: 596: 592: 591:open standard 588: 584: 580: 576: 572: 564: 562: 560: 556: 551: 548: 544: 539: 537: 533: 532:Haskell Curry 530: 526: 523: 519: 516: 512: 508: 504: 500: 496: 493: 489: 485: 479: 452: 444: 439: 435: 431: 426: 422: 418: 414: 410: 405: 401: 397: 393: 388: 384: 380: 376: 372: 367: 363: 359: 354: 350: 346: 342: 338: 333: 329: 325: 321: 317: 312: 309: 305: 301: 297: 293: 289: 285: 280: 276: 272: 268: 264: 260: 256: 252: 248: 245:Influenced by 243: 240: 236: 233: 229: 225: 221: 217: 213: 210: 205: 201: 195: 191: 187: 185: 181: 178: 175: 173: 169: 166: 162: 158: 155: 153: 149: 145: 139: 137: 133: 117: 115: 111: 107: 93: 89: 86: 85:Philip Wadler 82: 78: 74: 70: 66: 62: 59: 57: 53: 50: 47: 45: 41: 37: 32: 26: 22: 5677:Generational 5667:Alphabetical 5663: 5643: 5526: 5468:Visual Basic 5357: 5347: 5337: 5325: 5320: 5317: 5290: 5276: 5176: 5166: 5156: 5144: 5140: 5137: 5107:David Roundy 5087:Simon Marlow 5052:Richard Bird 4964: 4939: 4789: 4720: 4712: 4704: 4690: 4635: 4631: 4619: 4563: 4480: 4441: 4423:Hughes, John 4402: 4395:(13): 17–68. 4392: 4363:cite journal 4340: 4332: 4299: 4273: 4244: 4222: 4216:(full text). 4198: 4178: 4157: 4133: 4110: 4090: 4066: 4050:Bibliography 4034: 4023: 4011:. Retrieved 4002: 3990:. Retrieved 3986: 3977: 3955: 3933: 3916: 3904:. Retrieved 3894: 3882:. Retrieved 3872: 3837: 3824: 3810: 3797: 3791: 3779: 3774: 3764:17 September 3762:. Retrieved 3758: 3749: 3739:30 September 3737:. Retrieved 3731: 3722: 3711: 3702: 3693: 3656:. Retrieved 3644: 3633:, retrieved 3627: 3621: 3609:. Retrieved 3599: 3587:. Retrieved 3582: 3573: 3561:. Retrieved 3556: 3547: 3537: 3530: 3516: 3507: 3495:. Retrieved 3492:Tidal Cycles 3491: 3482: 3470:. Retrieved 3466:the original 3461: 3452: 3440:. Retrieved 3431: 3420:, retrieved 3414: 3408: 3396: 3385: 3373: 3367:. ACM Press. 3364: 3354: 3345: 3336: 3324: 3312:. Retrieved 3308:the original 3298: 3287: 3278: 3268: 3227: 3221: 3210: 3197: 3185:. Retrieved 3181:the original 3176: 3167: 3155:. Retrieved 3146: 3135: 3125: 3110: 3081:. Retrieved 3077: 3067: 3055:. Retrieved 3051:the original 3046: 3037: 3025:. Retrieved 3021: 3012: 2992: 2985: 2974:, retrieved 2969: 2962: 2950: 2921: 2909:. Retrieved 2905:Haskell-cafe 2904: 2894: 2885: 2878:. Retrieved 2867: 2855:. Retrieved 2851: 2841: 2829:. Retrieved 2825: 2816: 2804:. Retrieved 2800:the original 2791: 2782: 2770:. Retrieved 2765: 2755: 2743:. Retrieved 2732: 2720:. Retrieved 2711: 2699:. Retrieved 2690: 2681: 2672: 2662: 2658: 2656: 2648: 2639: 2627:. Retrieved 2615: 2604:. Retrieved 2598: 2588: 2576:. Retrieved 2572:the original 2567: 2557: 2531:. Retrieved 2522: 2512: 2500:. Retrieved 2496:the original 2489: 2479: 2460: 2457:Meijer, Erik 2406:the original 2401: 2385: 2373: 2361:. Retrieved 2347: 2342:, p. xi 2298:. Retrieved 2293: 2268:. Retrieved 2263: 2216: 2214: 2178: 2147: 2136: 2099:type classes 2070: 2066:input/output 2056: 2036: 2030: 2023: 2015: 2008: 1976: 1946:, the first 1930:implemented 1905:cryptography 1749: 1733: 1726:web browsers 1686: 1653: 1627: 1620: 1439: 1426: 1423: 1322: 1037: 978: 962: 960: 922: 899: 880: 868:side effects 856:type classes 837: 816: 741: 737: 707: 703:Haskell 2010 702: 698: 696: 693:Haskell 2010 686: 678: 674: 672: 663: 661: 650:type classes 640: 636: 627:input/output 624: 609:Type classes 607: 604: 568: 552: 540: 525:input/output 511:type classes 450: 449: 358:CoffeeScript 222:, NHC, JHC, 25: 5672:Categorical 5232:mathematics 5117:Audrey Tang 5097:Erik Meijer 5072:John Hughes 4729:TidalCycles 4566:programming 4419:Hudak, Paul 4333:Haskell.org 4325:Hudak, Paul 4153:Hudak, Paul 3187:11 February 3157:18 December 3083:6 September 3027:7 September 2831:31 December 2461:Oopsla 2007 1957:refinement. 1951:microkernel 1891:electronics 1867:web browser 1846:TidalCycles 1834:then named 1828:interpreter 956:parallelism 952:concurrency 937:native-code 933:interpreter 895:overloading 806:Haskell2010 717:instead of 292:Standard ML 81:Erik Meijer 69:John Hughes 5707:Categories 5537:JavaScript 5413:Comparison 5067:Paul Hudak 4804:QuickCheck 3855:1581137583 3511:xmonad.org 3497:19 January 3422:16 October 3105:, Preface. 2857:9 February 2806:9 February 2772:9 February 2722:4 February 2701:26 October 2606:2020-07-15 2568:Listmania! 2533:9 February 2502:9 February 2363:9 February 2223:References 2217:hackathons 2121:PureScript 1871:PureScript 1722:JavaScript 1442:quick sort 1315:enumFromTo 973:See also: 872:orthogonal 862:. It is a 832:See also: 736:So-called 689:standard. 664:Haskell 98 658:Haskell 98 541:Haskell's 417:PureScript 404:LiveScript 314:Influenced 265:and Hope, 65:Paul Hudak 5634:Smalltalk 5228:Namesakes 5012:Community 4973:SQream DB 4922:git-annex 4853:wxHaskell 4782:Libraries 4318:Tutorials 4263:full text 4103:Textbooks 4013:1 October 3992:11 August 3589:11 August 3563:11 August 3541:(report). 3203:GHC 9.2.1 3137:Microsoft 2741:. Leanpub 2663:workflows 2649:Expert F# 2645:Syme, Don 2629:7 October 2600:InfoWorld 2578:3 October 2543:cite news 2491:Channel 9 2465:CiteSeerX 2206:Hackathon 2005:Criticism 1798:Git-annex 1587:quickSort 1554:quickSort 1533:quickSort 1527:quickSort 1518:quickSort 1503:quickSort 1482:quickSort 1473:quickSort 1452:quickSort 1429:type has 1392:otherwise 1347:factorial 1291:factorial 1264:factorial 1249:factorial 1228:factorial 1216:otherwise 1189:factorial 1168:factorial 1153:factorial 1141:factorial 1120:factorial 1084:factorial 1051:factorial 1040:factorial 715:Data.List 653:standard. 613:type-safe 543:semantics 515:type-safe 188:.hs, .lhs 5692:Category 5458:Assembly 5418:Timeline 5254:Currying 5112:Joe Stoy 4760:Bluespec 4649:Dialects 4587:features 4573:Software 4468:52847907 4433:(2007). 4272:(2014). 4155:(2000). 4131:(1998). 3880:. GitHub 3864:11986908 3611:18 March 3607:. GitHub 3346:GHC Trac 3260:15327197 3205:released 2911:12 March 2745:23 April 2270:12 March 1977:Notable 1932:Semantic 1911:Facebook 1884:Bluespec 1878:Industry 1858:for the 1830:for the 1824:compiler 1808:Linspire 1776:building 1697:bytecode 1654:de facto 1060:Integral 1030:putStrLn 940:compiler 822:Features 802:LANGUAGE 795:LANGUAGE 687:de facto 529:logician 509:such as 507:features 400:Generics 392:Isabelle 332:Concepts 324:Bluespec 232:Dialects 157:Inferred 44:Paradigm 5645:more... 5624:Scratch 5527:Haskell 5517:Fortran 5473:classic 5423:History 5318:Italics 5291:Haskell 5138:Italics 4966:Paradox 4928:Haddock 4904:Cardano 4878:Servant 4848:Fudgets 4673:Cryptol 4564:Haskell 4412:History 4055:Reports 3906:26 June 3733:Co–Star 3713:YouTube 3658:10 June 3472:14 June 3442:8 April 3314:26 June 2976:22 June 2525:. QCon 2264:Haskell 2170:syntax. 2105:Epigram 2086:Cayenne 1989:Servant 1967:Co–Star 1901:Cryptol 1708:Lazy ML 1695:) is a 1427:Integer 1425:As the 1258:product 963:Hackage 910:parsing 762:(>=) 668:library 631:monadic 571:Miranda 565:History 547:Miranda 538:(GHC). 522:monadic 482:) is a 451:Haskell 409:Mercury 371:Epigram 353:Clojure 345:Cayenne 343:, CAL, 284:Miranda 198:haskell 193:Website 126:2010-07 124: ( 99: ( 29:Haskell 5664:Lists: 5599:Python 5594:Prolog 5572:Pascal 5562:MATLAB 5547:Kotlin 5507:Erlang 5446:Simula 5042:Arvind 5021:Eponym 4959:Pandoc 4954:LOLITA 4916:Ganeti 4859:xmonad 4798:Parsec 4714:Orwell 4513:Portal 4466:  4456:  4306:  4280:  4253:  4230:  4205:  4186:  4165:  4141:  4117:  4074:  3884:9 June 3862:  3852:  3635:7 June 3415:Agda 2 3258:  3248:  3057:16 May 3000:  2880:3 June 2653:Apress 2467:  2210:Zurich 2201:(CUFP) 2186:(ICFP) 2096:kinded 2019:Helium 1961:Target 1928:GitHub 1852:Xmonad 1814:Pandoc 1658:OpenGL 1638:ANSI C 1593:filter 1560:filter 1332:import 988:module 887:static 883:strong 798:pragma 776:syntax 575:strict 559:GitHub 520:, and 421:Python 375:Escher 304:Scheme 296:Orwell 207:Major 165:strong 161:static 5639:Swift 5629:Shell 5542:Julia 5512:Forth 5502:COBOL 5463:BASIC 5441:ALGOL 5285:Curry 5278:Brook 4941:House 4934:HaXml 4910:Darcs 4890:Yesod 4829:Stack 4823:Cabal 4765:(BSV) 4706:Ωmega 4699:Idris 4679:Curry 4621:Gofer 4464:S2CID 4438:(PDF) 4389:(PDF) 4355:(PDF) 4095:(PDF) 3860:S2CID 3834:(PDF) 3805:2003. 3690:(PDF) 3653:(PDF) 3256:S2CID 2682:WIRED 2624:(PDF) 2523:InfoQ 2409:(PDF) 2398:(PDF) 2357:(PDF) 2300:6 May 2142:Curry 2131:kinds 2127:Ωmega 2111:Idris 2058:Clean 2043:Stack 2039:Cabal 1999:Yesod 1854:is a 1822:is a 1784:is a 1782:Darcs 1772:Cabal 1746:Gofer 1599:>= 1467:-> 1464:=> 1359:where 1297:foldr 1273:foldl 1075:-> 1069:=> 1003:where 902:monad 774:Some 497:with 438:Swift 434:Scala 413:Ωmega 387:Idris 362:Curry 349:Clean 328:C++11 308:SISAL 271:ISWIM 259:Gofer 251:Clean 239:Gofer 226:, UHC 5614:Rust 5609:Ruby 5584:Perl 5552:Lisp 5532:Java 5478:.NET 5326:° = 5158:Book 5145:° = 4995:Book 4884:Snap 4754:Atom 4722:Pugs 4692:Hume 4661:Agda 4626:Hugs 4624:° → 4454:ISBN 4376:help 4304:ISBN 4278:ISBN 4251:ISBN 4228:ISBN 4203:ISBN 4184:ISBN 4163:ISBN 4139:ISBN 4115:ISBN 4072:ISBN 4015:2019 3994:2019 3908:2013 3886:2023 3850:ISBN 3803:POPL 3766:2022 3741:2023 3660:2022 3637:2019 3613:2022 3591:2019 3565:2019 3499:2022 3474:2006 3444:2015 3424:2021 3316:2013 3246:ISBN 3189:2016 3159:2012 3085:2019 3059:2021 3029:2021 2998:ISBN 2978:2020 2913:2011 2882:2014 2859:2012 2833:2023 2808:2012 2774:2012 2747:2017 2724:2014 2703:2014 2661:and 2631:2015 2580:2017 2549:link 2535:2012 2504:2012 2365:2012 2302:2017 2272:2011 2163:Hume 2076:Agda 1994:Snap 1944:seL4 1920:The 1840:Raku 1836:Perl 1826:and 1820:Pugs 1766:Agda 1693:Hugs 1650:LLVM 1632:The 1566:< 1377:< 1201:< 1111:else 1105:then 1099:< 1038:The 1024:main 1009:main 997:main 991:Main 954:and 935:and 912:and 858:and 793:The 760:and 724:The 719:List 501:and 430:Rust 425:Raku 396:Java 383:Hack 341:LINQ 320:Agda 300:SASL 290:and 279:Lisp 263:Hope 220:Hugs 200:.org 101:1990 94:1990 5619:SQL 5589:PHP 5557:Lua 5492:C++ 5453:APL 5436:Ada 4685:Elm 4637:Yhc 4634:° ( 4446:doi 3842:doi 3236:doi 3232:ACM 2092:Elm 2047:Nix 1985:IHP 1973:Web 1802:Git 1718:Yhc 1646:C-- 1458:Ord 1362:fac 1356:fac 1353:fix 1341:fix 758:(-) 754:(+) 366:Elm 275:KRC 224:Yhc 216:GHC 5709:: 5567:ML 5522:Go 5497:C# 5230:: 4735:Ur 4608:° 4479:. 4462:. 4452:. 4440:. 4429:; 4425:; 4421:; 4391:. 4367:: 4365:}} 4361:{{ 4331:. 4294:; 3985:. 3924:, 3858:. 3848:. 3836:. 3757:. 3730:. 3710:. 3692:. 3668:^ 3581:. 3555:. 3490:. 3460:. 3363:. 3344:. 3277:. 3254:. 3244:. 3230:. 3175:. 3134:. 3093:^ 3076:. 3045:. 3020:. 2933:^ 2903:. 2884:. 2850:. 2824:. 2794:. 2790:. 2764:. 2680:. 2651:. 2597:. 2566:. 2545:}} 2541:{{ 2527:SF 2521:. 2488:. 2463:. 2448:^ 2417:^ 2400:. 2310:^ 2292:. 2280:^ 2262:. 2247:^ 2230:^ 1644:: 1625:. 1608:xs 1584:++ 1581:++ 1575:xs 1545:xs 1512:++ 1509:++ 1494:xs 1455::: 1093:if 1054::: 1018:() 1015:IO 1012::: 979:A 965:. 958:. 908:, 885:, 854:, 850:, 846:, 842:, 490:, 486:, 475:əl 436:, 432:, 423:, 419:, 415:, 411:, 402:, 394:, 385:, 381:, 379:F# 377:, 373:, 364:, 360:, 351:, 347:, 337:C# 326:, 322:, 306:, 302:, 298:, 294:, 288:ML 286:, 277:, 273:, 269:, 267:Id 261:, 257:, 255:FP 253:, 218:, 172:OS 163:, 159:, 79:, 75:, 67:, 5604:R 5487:C 5394:e 5387:t 5380:v 5293:° 5287:° 5281:° 5234:, 5212:e 5205:t 5198:v 4969:° 4961:° 4950:° 4944:° 4936:° 4930:° 4924:° 4918:° 4912:° 4906:° 4892:° 4886:° 4880:° 4861:° 4855:° 4831:° 4825:° 4806:° 4800:° 4794:° 4756:° 4737:° 4731:° 4725:° 4717:° 4709:° 4701:° 4695:° 4687:° 4681:° 4675:° 4669:° 4663:° 4640:) 4628:° 4614:° 4602:° 4589:) 4585:( 4556:e 4549:t 4542:v 4515:: 4485:. 4470:. 4448:: 4406:. 4378:) 4374:( 4357:. 4344:) 4335:. 4312:. 4286:. 4265:) 4261:( 4259:. 4236:. 4211:. 4192:. 4171:. 4147:. 4123:. 4080:. 4042:. 4017:. 3996:. 3964:. 3942:. 3910:. 3888:. 3866:. 3844:: 3768:. 3743:. 3662:. 3615:. 3593:. 3567:. 3501:. 3476:. 3446:. 3318:. 3262:. 3238:: 3191:. 3161:. 3140:. 3119:. 3087:. 3061:. 3031:. 3006:. 2945:. 2915:. 2861:. 2835:. 2810:. 2776:. 2749:. 2726:. 2705:. 2665:. 2633:. 2609:. 2582:. 2551:) 2537:. 2506:. 2473:. 2367:. 2304:. 2274:. 2242:. 2159:. 2117:. 2082:. 1955:C 1917:. 1842:. 1742:. 1728:. 1664:. 1611:) 1605:) 1602:x 1596:( 1590:( 1578:) 1572:) 1569:x 1563:( 1557:( 1551:= 1548:) 1542:: 1539:x 1536:( 1530:= 1500:= 1497:) 1491:: 1488:x 1485:( 1476:= 1461:a 1419:) 1416:1 1413:- 1410:x 1407:( 1404:f 1401:* 1398:x 1395:= 1389:| 1386:1 1383:= 1380:2 1374:x 1371:| 1368:x 1365:f 1350:= 1344:) 1338:( 1318:1 1312:. 1309:1 1306:) 1303:* 1300:( 1294:= 1285:1 1282:) 1279:* 1276:( 1270:= 1267:n 1255:= 1252:n 1243:) 1240:1 1237:- 1234:n 1231:( 1225:* 1222:n 1219:= 1213:| 1210:1 1207:= 1204:2 1198:n 1195:| 1192:n 1183:) 1180:1 1177:- 1174:n 1171:( 1165:* 1162:n 1159:= 1156:n 1150:1 1147:= 1144:0 1135:) 1132:1 1129:- 1126:n 1123:( 1117:* 1114:n 1108:1 1102:2 1096:n 1090:= 1087:n 1078:a 1072:a 1066:) 1063:a 1057:( 1027:= 1000:) 994:( 764:. 742:k 740:+ 738:n 730:C 478:/ 472:k 469:s 466:æ 463:h 460:ˈ 457:/ 453:( 440:, 427:, 406:, 398:/ 389:, 368:, 355:, 339:/ 334:, 330:/ 281:, 128:) 103:) 23:.

Index

Haskell (disambiguation)
Logo of Haskell
Paradigm
Purely functional
Designed by
Lennart Augustsson
Paul Hudak
John Hughes
Simon Peyton Jones
John Launchbury
Erik Meijer
Philip Wadler
Stable release
Preview release
Typing discipline
Inferred
static
strong
OS
Cross-platform
Filename extensions
haskell.org
implementations
GHC
Hugs
Yhc
Dialects
Gofer
Clean
FP

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.