Haskell
Learn Haskell: pure functions, laziness, ADTs and type classes, Functor/Applicative/Monad, IO, STM concurrency, QuickCheck, parsers and web APIs.
कोर्स शुरू करें →
आप क्या सीखेंगे
- Explain purity, laziness and Haskell's type system, and set up GHC, Cabal and GHCi.
- Write functions with pattern matching, guards, recursion, folds and list comprehensions.
- Model domains with algebraic data types, records, newtypes, type classes, Maybe and Either.
- Use Functor, Applicative, Monad, Foldable and Traversable, and manage IO, exceptions and laziness.
- Structure real programs with modules, Text, containers, mtl, STM and async concurrency.
- Test with Hspec and QuickCheck, build parsers and JSON APIs, and apply advanced types and profiling wisely.
पाठ्यक्रम
Getting Started with Haskell
- What Haskell Is and Why Learn It
- Installing GHC, Cabal, Stack and GHCi
- Expressions, Types and Functions
Lists, Pattern Matching and Recursion
- Lists, Ranges and Comprehensions
- Pattern Matching, Guards and case
- Recursion and Higher-Order Functions
Algebraic Data Types and Type Classes
- Algebraic Data Types and Records
- Type Classes and Instances
- Maybe and Either
Functor, Applicative and Monad
- Functor: Mapping Inside a Context
- Applicative: Combining Independent Effects
- Monads and do Notation
IO, Laziness and Structural Classes
- IO and Exceptions
- Laziness, Thunks and Strictness
- Semigroup, Monoid, Foldable and Traversable
Real-World Haskell
- Modules, Packages, Text and Containers
- Monad Transformers and Application Structure
- Concurrency: Threads, MVar, STM and async
Testing, Parsing and Web
- Testing with Hspec and QuickCheck
- Parser Combinators
- JSON and Web Services
Advanced Types, Performance, Idioms and Revision
- Type-Level Features and GHC Extensions
- Performance, Profiling and Tooling
- Idiomatic Haskell and Common Pitfalls
- Revision and Interview Questions