Haskell Platform
   HOME

TheInfoList



OR:

The Haskell Platform is a set of software packages, tools, and
libraries A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
that create a common platform for using and developing applications in the
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
Haskell Haskell () is a general-purpose, statically typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell pioneered several programming language ...
. With the Haskell Platform, Haskell follows the same principle as
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (prog ...
: "Batteries included". Since 2022, the Haskell Platform has been deprecated.


Motivation

The Haskell Platform aims to unify Haskell development tools into a single package, consisting of a
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
, compiling tools, and many standard libraries, thereby making it easier to develop and deploy full-featured Haskell-based applications.


Packages included

The last versions consist of: *
Glasgow Haskell Compiler The Glasgow Haskell Compiler (GHC) is a native or machine code compiler for the functional programming language Haskell. It provides a cross-platform software environment for writing and testing Haskell code and supports many extensions, libra ...
(GHC), Haskell's flagship compiler * The GHC- Profiler * GHCi, GHCs
bytecode Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (normal ...
-
interpreter Interpreting is translation from a spoken or signed language into another language, usually in real time to facilitate live communication. It is distinguished from the translation of a written text, which can be more deliberative and make use o ...
* The GHCi-
Debugger A debugger is a computer program used to test and debug other programs (the "target" programs). Common features of debuggers include the ability to run or halt the target program using breakpoints, step through code line by line, and display ...
* Alex, a
lexer generator Lexical tokenization is conversion of a text into (semantically or syntactically) meaningful ''lexical tokens'' belonging to categories defined by a "lexer" program. In case of a natural language, those categories include nouns, verbs, adjectives ...
, similar to
Lex Lex or LEX may refer to: Computing * Amazon Lex, a service for building conversational interfaces into any application using voice and text * LEX (cipher), a stream cipher based on the round transformation of AES * Lex (software), a computer pro ...
* Happy, a
parser generator In computer science, a compiler-compiler or compiler generator is a programming tool that creates a parser, interpreter, or compiler from some form of formal description of a programming language and machine. The most common type of compiler- ...
, similar to
Yacc Yacc (Yet Another Compiler-Compiler) is a computer program for the Unix operating system developed by Stephen C. Johnson. It is a lookahead left-to-right rightmost derivation (LALR) parser generator, generating a LALR parser (the part of a co ...
*
Cabal A cabal is a group of people who are united in some close design, usually to promote their private views or interests in an ideology, a state (polity), state, or another community, often by Wiktionary:intrigue, intrigue and usually without the kn ...
, a package manager *
Haddock The haddock (''Melanogrammus aeglefinus'') is a saltwater ray-finned fish from the Family (biology), family Gadidae, the true cods. It is the only species in the Monotypy, monotypic genus ''Melanogrammus''. It is found in the North Atlantic Oce ...
, a documentation tool * hsc2hs, a preprocessor for binding Haskell to C code, allowing C libraries to be used from Haskell * various libraries, such as zlib, cgi and OpenGL


Deployment

It is available for
Ubuntu Ubuntu ( ) is a Linux distribution based on Debian and composed primarily of free and open-source software. Developed by the British company Canonical (company), Canonical and a community of contributors under a Meritocracy, meritocratic gover ...
,
Arch Linux Arch Linux () is an Open-source software, open source, rolling release Linux distribution. Arch Linux is kept up-to-date by regularly updating the individual pieces of software that it comprises. Arch Linux is intentionally minimal, and is meant ...
,
FreeBSD FreeBSD is a free-software Unix-like operating system descended from the Berkeley Software Distribution (BSD). The first version was released in 1993 developed from 386BSD, one of the first fully functional and free Unix clones on affordable ...
,
Gentoo Linux Gentoo Linux (pronounced ) is a Linux distribution built using the Portage package management system. Unlike a binary software distribution, the source code is compiled locally according to the user's preferences and is often optimized for ...
(
x86-64 x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit extension of the x86 instruction set architecture, instruction set. It was announced in 1999 and first available in the AMD Opteron family in 2003. It introduces two new ope ...
and
x86 x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel, based on the 8086 microprocessor and its 8-bit-external-bus variant, the 8088. Th ...
),
Fedora A fedora () is a hat with a soft brim and indented crown.Kilgour, Ruth Edwards (1958). ''A Pageant of Hats Ancient and Modern''. R. M. McBride Company. It is typically creased lengthwise down the crown and "pinched" near the front on both sides ...
, Debian (stable) and NixOS. One-click installers exist for
OS X macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
(only Intel) and
Microsoft Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
.


Versions

Originally, in 2009, the Haskell Platform aimed at a periodic 6-month release cycle. Starting with 7.10.2 which was released July 29, 2015, it has followed the release cycle of GHC and has since used the same version numbering scheme.


Deprecation

In 2022, the Haskell Platform was deprecated, and is no longer an actively supported or recommended way of installing Haskell.


References


External links

* * {{Haskell programming Haskell programming language family Free computer libraries Free software programmed in Haskell