start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
start [2022/04/27 01:25] – [Basics] f2b216start [2025/10/08 00:44] (current) – external edit 127.0.0.1
Line 1: Line 1:
-~~DISCUSSION~~ 
 ====== HaskSheet ====== ====== HaskSheet ======
  
Line 40: Line 39:
     * ''[[codesnippets:typeapplications|{-# LANGUAGE TypeApplications #-}]]''     * ''[[codesnippets:typeapplications|{-# LANGUAGE TypeApplications #-}]]''
     * ''[[codesnippets:fnowarnorphans|{-# OPTIONS_GHC -fno-warn-orphans #-}]]''     * ''[[codesnippets:fnowarnorphans|{-# OPTIONS_GHC -fno-warn-orphans #-}]]''
 +    * ''[[codesnippets:fnowarnmissingsignatures|{-# OPTIONS_GHC -fno-warn-missing-signatures #-}]]''
   * Prelude including its type classes   * Prelude including its type classes
     * see also: [[modules:prelude|Prelude overview]]     * see also: [[modules:prelude|Prelude overview]]
Line 47: Line 47:
     * [[codesnippets:applicative|Applicative]]     * [[codesnippets:applicative|Applicative]]
     * [[codesnippets:monads|Monads]]     * [[codesnippets:monads|Monads]]
 +      * [[codesnippets:maybe|Maybe]]
 +      * [[codesnippets:either|Either]]
     * [[codesnippets:statemonads|State monads]]     * [[codesnippets:statemonads|State monads]]
  
Line 52: Line 54:
  
   * [[codesnippets:templatehaskell|TemplateHaskell]]   * [[codesnippets:templatehaskell|TemplateHaskell]]
 +  * [[codesnippets:hint|Interpreted Haskell code by package hint]]
 +
 +==== Safety ====
 +
 +Proposed properties of safety by using ''{-# LANGUAGE Safe #-}'':
 +  * type safety
 +  * referential transparency,
 +  * strict module encapsulation
 +  * modular reasoning
 +  * semantic consistency
 +  * See also [[https://wiki.haskell.org/Safe_Haskell|Safe Haskell]]
 ==== Use case examples ==== ==== Use case examples ====
  
Line 60: Line 73:
   * [[codesnippets:statefuldecoder|Stateful decoder]]   * [[codesnippets:statefuldecoder|Stateful decoder]]
   * [[codesnippets:twopagesgenericparser|A generic parser on two pages]]   * [[codesnippets:twopagesgenericparser|A generic parser on two pages]]
 +  * [[codesnippets:accumulatingwithinmonadiccontextswithoutfolds|Accumulating within monadic contexts without folds]]
  
 ==== Debugging ==== ==== Debugging ====
Line 66: Line 80:
  
  
-==== Strategies ====+===== Strategies and Methods =====
  
-=== Structure, types, classes, and so on ===+==== Structure, types, classes, and so on ====
  
   * [[codesnippets:avoidconflictprelude|Avoiding name conflict with prelude]]   * [[codesnippets:avoidconflictprelude|Avoiding name conflict with prelude]]
Line 74: Line 88:
   * [[codesnippets:equivalentfunctioncompositions|Equivalent function compositions]]   * [[codesnippets:equivalentfunctioncompositions|Equivalent function compositions]]
  
-=== Documentation and maintenance ===+==== Conventions ====
  
   * [[codesnippets:codingconventions|Coding conventions]]   * [[codesnippets:codingconventions|Coding conventions]]
- 
-=== Test === 
- 
   * [[codesnippets:testingconventions|Testing conventions]]   * [[codesnippets:testingconventions|Testing conventions]]
  
-==== Markups ====+==== Haddock Markups ====
  
   * [[codesnippets:haddockexamples|Haddock examples]]   * [[codesnippets:haddockexamples|Haddock examples]]
  
 +==== Verification and Validation ====
 +
 +  * [[codesnippets:verificationandvalidation|Verification and Validation Plan]]
  
 ===== Modules, packages, and libraries ===== ===== Modules, packages, and libraries =====
Line 127: Line 141:
 ==== Advanced ==== ==== Advanced ====
  
-  * [[http://dev.stephendiehl.com/hask/|What I Wish I Knew When Learning Haskell]]+  * [[https://smunix.github.io/dev.stephendiehl.com/hask/tutorial.pdf|What I Wish I Knew When Learning Haskell]]
  
 ==== Supplementary ==== ==== Supplementary ====
Line 142: Line 156:
     * Applicative functors     * Applicative functors
     * Monads     * Monads
 +    * ...
 +  * [[https://www.youtube.com/channel/UC3xdLFFsqG701QAyGJIPT1g/videos|Philipp Hagenlocher on YouTube]], at least 43 lectures about:
 +    * Haskell basics topics, like types, let and where
 +    * Haskell intermediate topics, like folds
 +    * Haskell advance topics, like monad transformers
   * [[https://www.youtube.com/watch?v=iSmkqocn0oQ|Simon Peyton Jones - Haskell is useless]]   * [[https://www.youtube.com/watch?v=iSmkqocn0oQ|Simon Peyton Jones - Haskell is useless]]
     * I love this video!     * I love this video!
Line 156: Line 175:
   * [[legal:license|License]]   * [[legal:license|License]]
  
 +
 +===== ✎ =====
 +~~DISCUSSION~~
  
  
start.1651015508.txt.gz · Last modified: (external edit)

Except where otherwise noted, content on this wiki is licensed under the following license: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki