Knowledge

Haskell

Source 📝

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

Index

Haskell (programming language)
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

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