Difference between revisions of "WikipediaArticleDesign"

From HaskellWiki
Jump to navigation Jump to search
m
(Deleting page that hasn't been edited for over 10 years)
Line 1: Line 1:
== Motiviation ==
 
 
The [http://en.wikipedia.org/wiki/Haskell_%28programming_language%29 Haskell Wikipedia Article] is an ad hoc collection of edits with no overriding structure or theme. The Haskell community should be able to contribute a better article to represent this project.
 
 
Here's a draft structure based on the "[[History_of_Haskell|History of Haskell]]" paper.
 
 
Please make comments on the [[Talk:WikipediaArticleDesign|Discussion page]]
 
 
== Structures ==
 
 
1. History
 
1.1 Related Languages
 
 
2. Overview and Design Principles
 
2.1 Laziness
 
2.2 Purity
 
2.3 Type classes
 
2.4 Open and free
 
 
3. Features
 
3.1 Syntax
 
3.1.1 Layout
 
3.1.2 Functions, currying, application, abstraction
 
3.1.3 Operators
 
3.1.4 Namespaces
 
3.1.5 Declarations vs Expressions
 
3.1.6 List comprehensions
 
 
3.2 Algebraic Data Types
 
3.2.1 Pattern Matching
 
3.2.2 Abstract Types
 
3.2.3 Lists
 
3.2.4 Tuples
 
3.2.5 Records
 
 
3.3 Type System
 
3.3.1 Type classes
 
3.3.2 Type defaulting
 
3.3.3 Overloaded Literals
 
3.3.4 Higher Kinded Polymorphism
 
3.3.5 Multi-Parameter Type Classes
 
3.3.6 Functional Dependencies
 
3.3.7 Type System Extensions
 
Existential types
 
Extensible records
 
Polymorphic Recursion
 
Higher-Rank Types
 
Generalized ADTs
 
Type Families
 
Unlifted types
 
Generics
 
Template Metaprogramming
 
 
3.4 Monads
 
Overview
 
Applications
 
* Monadic IO
 
* do-notation
 
* References
 
* Exceptions
 
* ST monad
 
* STM monad
 
Applicative Functors
 
Arrows
 
 
3.6 Concurrency and Parallelism
 
Threads
 
Shared memory communcation
 
Futures and sparks
 
Software Transactional Memory
 
Data Parallelism
 
 
3.7 Programming in the Large
 
3.7.1 FFI
 
3.7.2 Modules
 
3.7.3 Packages
 
 
3.8 Semantics
 
* Static semantics
 
* Dynamic semantics
 
 
3.9 Extensions to Haskell
 
 
4. Implementations
 
4.1 GHC, GHCi
 
4.2 Hugs
 
4.3 NHC, YHC
 
4.4 Other implementations
 
 
5. Tools
 
5.0 Profiling
 
5.1 Debugging
 
5.2 Testing
 
5.3 Alex and Happy
 
5.5 Haddock
 
5.6 Hoogle and Hayoo
 
 
6. Distribution
 
* Cabal
 
* Hackage
 
* cabal-install
 
* Haskell Platform
 
 
7. Libraries ''(top 2 libraries by Hackage downloads or notability)''
 
* Audio
 
* Codecs
 
* Concurrency
 
* Data Structures
 
* Database
 
* HDBC
 
* Games
 
* 2D
 
* 3D
 
* GUIs
 
* gtk2hs
 
* wxHaskell
 
* FRP guis
 
* Languages
 
* Math
 
* Numeric Prelude
 
* Music
 
* Haskore
 
* Network
 
* System
 
* Testing
 
* QuickCheck
 
* HUnit
 
* Text
 
* Unicode/UTF8
 
* Web
 
* Happstack
 
 
6. Applications
 
''Notable open source applications (by popularity)''
 
 
* darcs
 
* xmonad
 
* pugs
 
* pandoc
 
* gitit
 
* cpphs
 
* agda
 
* yi, leskah
 
 
''Notable commercial applications (citing CUFP)''
 
 
* Bluespec (Bluespec)
 
* Cryptol (Galois)
 
* Atom (Eaton)
 
* Paradise (credit Suisse)
 
 
''Notable applied research projects (by citations? [http://haskell.org/haskellwiki/Research_papers see here])''
 
 
* Parser combinators
 
* [Hardware design]
 
* [http://haskell.org/haskellwiki/Libraries_and_tools/Operating_system Operating systems]
 
* [http://haskell.org/haskellwiki/Research_papers/Functional_reactive_programming Functional Reactive Programming]
 
 
7. Community
 
 
9 Further Reading
 

Revision as of 15:02, 6 February 2021