Difference between revisions of "WikipediaArticleDesign"
Jump to navigation
Jump to search
m |
Tomjaguarpaw (talk | contribs) (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 |