Skip to content

FShamasneh/Functional-Programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Functional-Programming

Complete Haskell Tutorials through practices:

Practice 1 • Topic: Haskell basics, function definitions • Mandatory reading: learnyouahaskell.com Section “Baby’s first functions” • Further reading: Real World Haskell Chapter “Types and Functions”

Practice 2 • Topic: data types, function types, polymorphism • Mandatory reading: learnyouahaskell.com Section “Believe the type” learnyouahaskell.com Section “Tuples” learnyouahaskell.com Section “An intro to lists” learnyouahaskell.com Section “Type variables”

Practice 3 • Topic: currying, overloaded functions • Mandatory reading: learnyouahaskell.com Section “Curried functions” learnyouahaskell.com Section “Typeclasses 101”

Practice 4 • Topic: overloaded functions, conditional expressions, guards • Mandatory reading: learnyouahaskell.com Section “Guards, guards!”

Practice 5 • Topic: pattern matching • Mandatory reading: learnyouahaskell.com Section “Pattern matching” • Further reading: Real World Haskell Section “Pattern matching”

Practice 6 • Topic: lambda functions, higher order functions (map) • Mandatory reading: learnyouahaskell.com Section “Maps and filters” learnyouahaskell.com Section “Lambdas”

Practice 7 • Topic: higher order functions, list comprehensions • Mandatory reading: learnyouahaskell.com Section “I’m a list comprehension”

Practice 8 • Topic: recursion • Mandatory reading: learnyouahaskell.com Sections “Hello recursion!”, “Maximum awesome” and “A few more • recursive functions” • Further reading: Real World Haskell Section “How to think about loops”

Practice 9 • Topic: higher order functions • Mandatory reading: learnyouahaskell.com Chapter “Higher order functions” • Further reading: • Real World Haskell Sections “Transforming every piece of input”, “Mapping over a list”, “Selecting pieces of input” • Real World Haskell Section “Why use folds, maps, and filters?”

Practice 10 • Topic: defining new data types. • Mandatory reading: learnyouahaskell.com Section “Algebraic data types” • Further reading: Real World Haskell Section “Defining a new data type”

Practice 11 • Topic: defining parametric data types • Mandatory reading: learnyouahaskell.com Section “Type parameters”

Practice 12 Topic: type classes • Mandatory reading: learnyouahaskell.com Section “Type classes 102”

About

A complete Haskell Tutorials through practices and exams:

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published