Geschreven door studenten die geslaagd zijn Direct beschikbaar na je betaling Online lezen of als PDF Verkeerd document? Gratis ruilen 4,6 TrustPilot
logo-home
Samenvatting

Summary Haskell Notes For Professionals

Beoordeling
-
Verkocht
-
Pagina's
225
Geüpload op
07-10-2023
Geschreven in
2023/2024

I am selling you future books (programming). I will present to you everything you will need in terms of knowledge of any programming language in the form of a book with a lot of useful information for you, and as you also know that programmers have very high salaries, I will help you to be great programmers I wish you a pleasant reading and learning.

Meer zien Lees minder
Instelling
Vak

Voorbeeld van de inhoud

Contents
About ................................................................................................................................................................................... 1
Chapter 1: Getting started with Haskell Language ..................................................................................... 2
Section 1.1: Getting started ............................................................................................................................................ 2
Section 1.2: Hello, World! ............................................................................................................................................... 4
Section 1.3: Factorial ...................................................................................................................................................... 6
Section 1.4: Fibonacci, Using Lazy Evaluation ............................................................................................................ 6
Section 1.5: Primes ......................................................................................................................................................... 7
Section 1.6: Declaring Values ........................................................................................................................................ 8
Chapter 2: Overloaded Literals ........................................................................................................................... 10
Section 2.1: Strings ....................................................................................................................................................... 10
Section 2.2: Floating Numeral .................................................................................................................................... 10
Section 2.3: Integer Numeral ...................................................................................................................................... 11
Section 2.4: List Literals .............................................................................................................................................. 11
Chapter 3: Foldable ................................................................................................................................................... 13
Section 3.1: Definition of Foldable .............................................................................................................................. 13
Section 3.2: An instance of Foldable for a binary tree ............................................................................................ 13
Section 3.3: Counting the elements of a Foldable structure ................................................................................... 14
Section 3.4: Folding a structure in reverse ............................................................................................................... 14
Section 3.5: Flattening a Foldable structure into a list ............................................................................................ 15
Section 3.6: Performing a side-eect for each element of a Foldable structure ................................................. 15
Section 3.7: Flattening a Foldable structure into a Monoid .................................................................................... 16
Section 3.8: Checking if a Foldable structure is empty ........................................................................................... 16
Chapter 4: Traversable ........................................................................................................................................... 18
Section 4.1: Definition of Traversable ........................................................................................................................ 18
Section 4.2: Traversing a structure in reverse ......................................................................................................... 18
Section 4.3: An instance of Traversable for a binary tree ...................................................................................... 19
Section 4.4: Traversable structures as shapes with contents ................................................................................ 20
Section 4.5: Instantiating Functor and Foldable for a Traversable structure ....................................................... 20
Section 4.6: Transforming a Traversable structure with the aid of an accumulating parameter ...................... 21
Section 4.7: Transposing a list of lists ....................................................................................................................... 22
Chapter 5: Lens ............................................................................................................................................................ 24
Section 5.1: Lenses for records ................................................................................................................................... 24
Section 5.2: Manipulating tuples with Lens ............................................................................................................... 24
Section 5.3: Lens and Prism ........................................................................................................................................ 25
Section 5.4: Stateful Lenses ........................................................................................................................................ 25
Section 5.5: Lenses compose ..................................................................................................................................... 26
Section 5.6: Writing a lens without Template Haskell ............................................................................................. 26
Section 5.7: Fields with makeFields ........................................................................................................................... 27
Section 5.8: Classy Lenses .......................................................................................................................................... 29
Section 5.9: Traversals ................................................................................................................................................ 29
Chapter 6: QuickCheck ............................................................................................................................................. 30
Section 6.1: Declaring a property ............................................................................................................................... 30
Section 6.2: Randomly generating data for custom types ..................................................................................... 30
Section 6.3: Using implication (==>) to check properties with preconditions ........................................................ 30
Section 6.4: Checking a single property ................................................................................................................... 30
Section 6.5: Checking all the properties in a file ...................................................................................................... 31
Section 6.6: Limiting the size of test data ................................................................................................................. 31

,Chapter 7: Common GHC Language Extensions ......................................................................................... 33
Section 7.1: RankNTypes ............................................................................................................................................. 33
Section 7.2: OverloadedStrings .................................................................................................................................. 33
Section 7.3: BinaryLiterals .......................................................................................................................................... 34
Section 7.4: ExistentialQuantification ........................................................................................................................ 34
Section 7.5: LambdaCase ........................................................................................................................................... 35
Section 7.6: FunctionalDependencies ........................................................................................................................ 36
Section 7.7: FlexibleInstances ..................................................................................................................................... 36
Section 7.8: GADTs ...................................................................................................................................................... 37
Section 7.9: TupleSections .......................................................................................................................................... 37
Section 7.10: OverloadedLists ..................................................................................................................................... 38
Section 7.11: MultiParamTypeClasses ........................................................................................................................ 38
Section 7.12: UnicodeSyntax ....................................................................................................................................... 39
Section 7.13: PatternSynonyms .................................................................................................................................. 39
Section 7.14: ScopedTypeVariables ........................................................................................................................... 40
Section 7.15: RecordWildCards ................................................................................................................................... 41
Chapter 8: Free Monads .......................................................................................................................................... 42
Section 8.1: Free monads split monadic computations into data structures and interpreters ........................... 42
Section 8.2: The Freer monad .................................................................................................................................... 43
Section 8.3: How do foldFree and iterM work? ........................................................................................................ 44
Section 8.4: Free Monads are like fixed points ......................................................................................................... 45
Chapter 9: Type Classes .......................................................................................................................................... 46
Section 9.1: Eq .............................................................................................................................................................. 46
Section 9.2: Monoid ..................................................................................................................................................... 46
Section 9.3: Ord ........................................................................................................................................................... 47
Section 9.4: Num .......................................................................................................................................................... 47
Section 9.5: Maybe and the Functor Class ............................................................................................................... 49
Section 9.6: Type class inheritance: Ord type class ................................................................................................. 49
Chapter 10: IO ............................................................................................................................................................... 51
Section 10.1: Getting the 'a' "out of" 'IO a' .................................................................................................................. 51
Section 10.2: IO defines your program's `main` action ............................................................................................ 51
Section 10.3: Checking for end-of-file conditions ..................................................................................................... 52
Section 10.4: Reading all contents of standard input into a string ........................................................................ 52
Section 10.5: Role and Purpose of IO ........................................................................................................................ 53
Section 10.6: Writing to stdout .................................................................................................................................... 55
Section 10.7: Reading words from an entire file ....................................................................................................... 56
Section 10.8: Reading a line from standard input .................................................................................................... 56
Section 10.9: Reading from `stdin` .............................................................................................................................. 57
Section 10.10: Parsing and constructing an object from standard input ............................................................... 57
Section 10.11: Reading from file handles ................................................................................................................... 58
Chapter 11: Record Syntax ..................................................................................................................................... 59
Section 11.1: Basic Syntax ............................................................................................................................................ 59
Section 11.2: Defining a data type with field labels .................................................................................................. 60
Section 11.3: RecordWildCards ................................................................................................................................... 60
Section 11.4: Copying Records while Changing Field Values ................................................................................... 61
Section 11.5: Records with newtype ........................................................................................................................... 61
Chapter 12: Partial Application ............................................................................................................................ 63
Section 12.1: Sections ................................................................................................................................................... 63
Section 12.2: Partially Applied Adding Function ....................................................................................................... 63
Section 12.3: Returning a Partially Applied Function ............................................................................................... 64

,Chapter 13: Monoid ..................................................................................................................................................... 65
Section 13.1: An instance of Monoid for lists .............................................................................................................. 65
Section 13.2: Collapsing a list of Monoids into a single value ................................................................................. 65
Section 13.3: Numeric Monoids ................................................................................................................................... 65
Section 13.4: An instance of Monoid for () ................................................................................................................ 66
Chapter 14: Category Theory .............................................................................................................................. 67
Section 14.1: Category theory as a system for organizing abstraction ................................................................. 67
Section 14.2: Haskell types as a category ................................................................................................................ 67
Section 14.3: Definition of a Category ....................................................................................................................... 69
Section 14.4: Coproduct of types in Hask ................................................................................................................. 70
Section 14.5: Product of types in Hask ...................................................................................................................... 71
Section 14.6: Haskell Applicative in terms of Category Theory .............................................................................. 72
Chapter 15: Lists .......................................................................................................................................................... 73
Section 15.1: List basics ................................................................................................................................................ 73
Section 15.2: Processing lists ...................................................................................................................................... 73
Section 15.3: Ranges .................................................................................................................................................... 74
Section 15.4: List Literals ............................................................................................................................................. 75
Section 15.5: List Concatenation ................................................................................................................................ 75
Section 15.6: Accessing elements in lists ................................................................................................................... 75
Section 15.7: Basic Functions on Lists ........................................................................................................................ 75
Section 15.8: Transforming with `map` ...................................................................................................................... 76
Section 15.9: Filtering with `filter` ................................................................................................................................ 76
Section 15.10: foldr ....................................................................................................................................................... 77
Section 15.11: Zipping and Unzipping Lists ................................................................................................................. 77
Section 15.12: foldl ........................................................................................................................................................ 78
Chapter 16: Sorting Algorithms ............................................................................................................................ 79
Section 16.1: Insertion Sort ........................................................................................................................................... 79
Section 16.2: Permutation Sort ................................................................................................................................... 79
Section 16.3: Merge Sort .............................................................................................................................................. 79
Section 16.4: Quicksort ................................................................................................................................................ 80
Section 16.5: Bubble sort ............................................................................................................................................. 80
Section 16.6: Selection sort ......................................................................................................................................... 80
Chapter 17: Type Families ...................................................................................................................................... 81
Section 17.1: Datatype Families .................................................................................................................................. 81
Section 17.2: Type Synonym Families ....................................................................................................................... 81
Section 17.3: Injectivity ................................................................................................................................................. 83
Chapter 18: Monads ................................................................................................................................................... 84
Section 18.1: Definition of Monad ............................................................................................................................... 84
Section 18.2: No general way to extract value from a monadic computation ..................................................... 84
Section 18.3: Monad as a Subclass of Applicative .................................................................................................... 85
Section 18.4: The Maybe monad ................................................................................................................................ 85
Section 18.5: IO monad ............................................................................................................................................... 87
Section 18.6: List Monad .............................................................................................................................................. 88
Section 18.7: do-notation ............................................................................................................................................ 88
Chapter 19: Stack ........................................................................................................................................................ 90
Section 19.1: Profiling with Stack ................................................................................................................................. 90
Section 19.2: Structure ................................................................................................................................................. 90
Section 19.3: Build and Run a Stack Project .............................................................................................................. 90
Section 19.4: Viewing dependencies .......................................................................................................................... 90

, Section 19.5: Stack install ............................................................................................................................................ 91
Section 19.6: Installing Stack ....................................................................................................................................... 91
Section 19.7: Creating a simple project ..................................................................................................................... 91
Section 19.8: Stackage Packages and changing the LTS (resolver) version ........................................................ 91
Chapter 20: Generalized Algebraic Data Types ......................................................................................... 93
Section 20.1: Basic Usage ........................................................................................................................................... 93
Chapter 21: Recursion Schemes .......................................................................................................................... 94
Section 21.1: Fixed points ............................................................................................................................................. 94
Section 21.2: Primitive recursion ................................................................................................................................. 94
Section 21.3: Primitive corecursion ............................................................................................................................. 95
Section 21.4: Folding up a structure one layer at a time ......................................................................................... 95
Section 21.5: Unfolding a structure one layer at a time .......................................................................................... 95
Section 21.6: Unfolding and then folding, fused ....................................................................................................... 95
Chapter 22: Data.Text .............................................................................................................................................. 97
Section 22.1: Text Literals ............................................................................................................................................ 97
Section 22.2: Checking if a Text is a substring of another Text ............................................................................. 97
Section 22.3: Stripping whitespace ............................................................................................................................ 97
Section 22.4: Indexing Text ......................................................................................................................................... 98
Section 22.5: Splitting Text Values ............................................................................................................................. 98
Section 22.6: Encoding and Decoding Text .............................................................................................................. 99
Chapter 23: Using GHCi .......................................................................................................................................... 100
Section 23.1: Breakpoints with GHCi ........................................................................................................................ 100
Section 23.2: Quitting GHCi ...................................................................................................................................... 100
Section 23.3: Reloading a already loaded file ........................................................................................................ 101
Section 23.4: Starting GHCi ...................................................................................................................................... 101
Section 23.5: Changing the GHCi default prompt .................................................................................................. 101
Section 23.6: The GHCi configuration file ............................................................................................................... 101
Section 23.7: Loading a file ...................................................................................................................................... 102
Section 23.8: Multi-line statements .......................................................................................................................... 102
Chapter 24: Strictness ........................................................................................................................................... 103
Section 24.1: Bang Patterns ...................................................................................................................................... 103
Section 24.2: Lazy patterns ...................................................................................................................................... 103
Section 24.3: Normal forms ...................................................................................................................................... 104
Section 24.4: Strict fields ........................................................................................................................................... 105
Chapter 25: Syntax in Functions ....................................................................................................................... 106
Section 25.1: Pattern Matching ................................................................................................................................. 106
Section 25.2: Using where and guards ................................................................................................................... 106
Section 25.3: Guards ................................................................................................................................................. 107
Chapter 26: Functor ................................................................................................................................................. 108
Section 26.1: Class Definition of Functor and Laws ............................................................................................... 108
Section 26.2: Replacing all elements of a Functor with a single value ................................................................ 108
Section 26.3: Common instances of Functor .......................................................................................................... 108
Section 26.4: Deriving Functor ................................................................................................................................. 110
Section 26.5: Polynomial functors ........................................................................................................................... 111
Section 26.6: Functors in Category Theory ............................................................................................................ 112
Chapter 27: Testing with Tasty ......................................................................................................................... 114
Section 27.1: SmallCheck, QuickCheck and HUnit .................................................................................................. 114
Chapter 28: Creating Custom Data Types .................................................................................................. 115
Section 28.1: Creating a data type with value constructor parameters .............................................................. 115

Geschreven voor

Instelling
Vak

Documentinformatie

Geüpload op
7 oktober 2023
Aantal pagina's
225
Geschreven in
2023/2024
Type
SAMENVATTING

Onderwerpen

$8.49
Krijg toegang tot het volledige document:

Verkeerd document? Gratis ruilen Binnen 14 dagen na aankoop en voor het downloaden kun je een ander document kiezen. Je kunt het bedrag gewoon opnieuw besteden.
Geschreven door studenten die geslaagd zijn
Direct beschikbaar na je betaling
Online lezen of als PDF

Maak kennis met de verkoper
Seller avatar
Michael2030

Maak kennis met de verkoper

Seller avatar
Michael2030 Published
Volgen Je moet ingelogd zijn om studenten of vakken te kunnen volgen
Verkocht
-
Lid sinds
2 jaar
Aantal volgers
0
Documenten
44
Laatst verkocht
-
programming books

I am selling you future books (programming). I will present to you everything you will need in terms of knowledge of any programming language in the form of a book with a lot of useful information for you, and as you also know that programmers have very high salaries, I will help you to be great programmers I wish you a pleasant reading and learning.

0.0

0 beoordelingen

5
0
4
0
3
0
2
0
1
0

Recent door jou bekeken

Waarom studenten kiezen voor Stuvia

Gemaakt door medestudenten, geverifieerd door reviews

Kwaliteit die je kunt vertrouwen: geschreven door studenten die slaagden en beoordeeld door anderen die dit document gebruikten.

Niet tevreden? Kies een ander document

Geen zorgen! Je kunt voor hetzelfde geld direct een ander document kiezen dat beter past bij wat je zoekt.

Betaal zoals je wilt, start meteen met leren

Geen abonnement, geen verplichtingen. Betaal zoals je gewend bent via iDeal of creditcard en download je PDF-document meteen.

Student with book image

“Gekocht, gedownload en geslaagd. Zo makkelijk kan het dus zijn.”

Alisha Student

Bezig met je bronvermelding?

Maak nauwkeurige citaten in APA, MLA en Harvard met onze gratis bronnengenerator.

Bezig met je bronvermelding?

Veelgestelde vragen