Skip to content

Instantly share code, notes, and snippets.

@danclien
Last active August 29, 2015 14:05
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danclien/7596e3b336c5a9420f58 to your computer and use it in GitHub Desktop.
Save danclien/7596e3b336c5a9420f58 to your computer and use it in GitHub Desktop.

Tools

  • Cabal
    • Starting a new project
    • Sandboxes
      • Creating
      • Deleting
    • Adding dependencies
    • Installing dependencies
    • Adding one or more test suites
      • Unit tests
      • Property-based tests
      • Linting
      • Benchmarking
    • Adding modules
    • Creating libraries
    • Creating executables
    • Starting a REPL
    • Building the library/executable
    • Running the executables
    • Running tests
    • Adding GHC options
    • ~/.cabal vs ~/.ghc
    • ghc-pkg
  • GHC
    • Deferring type errors
    • Showing warnings
  • GHCi
    • Importing modules
    • Reloading code
    • Loading files
    • :type/:t
    • :info/:i
    • :kind/:k
    • Declaring functions
    • Declaring multiline functions
  • Hackage
    • Finding libraries
    • Reading documentation
  • Hoogle
    • Finding functions
  • Stackage

Basic Syntax

  • Type signatures
  • Calling functions
  • Defining functions
  • Pattern matching
  • Modules
    • Importing
    • Exporting functions
    • Exporting modules
  • $
  • if/then/else
  • let/in
  • where
  • case/of
  • data
    • Record syntax
    • deriving
  • !
  • type
  • newtype
    • Record syntax
    • deriving
  • do
    • let

Concepts

  • Equational reasoning
  • Laziness
  • Parametricity
  • Total functions
  • Value constructors
  • Type constructors
  • Sum types
  • Product types
  • Type classes
  • Type constraints
  • Type kinds
  • Currying
    • Function currying
    • Type currying
  • Semigroup
  • Monoid
  • Functor
  • Applicative
  • Alternative
  • Monads
  • Monad transformers
  • Free monads
  • Error handling
    • Maybe
    • Either
    • error

Types

  • Text
  • List
  • Maybe
  • Either
  • IO
  • Reader/ReaderT

Libraries

  • hspec
    • hunit
    • QuickCheck
    • hlint
  • text
  • aeson
  • scotty
  • operational
  • postgresql-simple
  • lens
  • validation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment