User Tools

Site Tools


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