WikipediaArticleDesign
Revision as of 23:11, 2 August 2009 by DonStewart (talk | contribs)
Motiviation
The 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" paper.
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 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 Generics Template Metaprogramming
3.4 Monads Monadic IO do-notation References Exceptions
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 Distribution
3.8 Semantics
4. Implementations
4.1 GHC * GHCi 4.2 HBC * HBI 4.3 Gofer and Hugs 4.3 NHC98 and YHC 4.4 JHC and LHC 4.5 EHC and UHC 4.7 Helium 4.6 Yale Haskell
5. Tools
5.0 Profiling 5.1 Debugging 5.2 Testing 5.3 Alex and Happy 5.4 Cabal 5.5 Haddock 5.6 Hoogle and Hayoo
7. Libraries and Distribution
* Build System * Hackage and Cabal * 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 research projects (by citations?)*
* Parser combinators * Hardware design * Operating systems * Functional Reactive Programming
7. Community
9 Further Reading