Difference between revisions of "WikipediaArticleDesign"

From HaskellWiki
Jump to: navigation, 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