Curso Haskell Foundation

  • Blockchain | NFT | DeFi | Metaverse

Curso Haskell Foundation

16H
Visão Geral

Fundamentos do Haskell este curso de treinamento é uma visão geral dos conceitos básicos de Haskell para iniciantes.

Curso Haskell Foundation, Haskell é uma poderosa linguagem de programação funcional para construir sistemas sólidos e projetos ambiciosos. Este curso foi projetado para cobrir os fundamentos da linguagem e fornecer aos iniciantes conhecimento suficiente de seus recursos para serem bem-sucedidos no desenvolvimento de projetos em Haskell.

Objetivo

Após realizar este Curso Haskell Foundation, você será capaz de:

  • Definições simples
  • Definições usando correspondência de padrões e guardas
  • Ligações locais com letewhere
  • Correspondência de padrões em listas, recursão
  • Funções de ordem superior: mapas e dobras
  • Funções anônimas e aplicação parcial


Pre-Requisitos
  • Um ano de experiência com qualquer linguagem de programação orientada a objetos ou funcional.
Materiais
Inglês + Exercícios + Lab Pratico
Conteúdo Programatico

Simple Constructs

  1. Simple definitions
  2. Definitions using pattern matching and guards
  3. Local bindings with let and where
  4. Pattern matching over lists, recursion
  5. Higher-order functions: maps and folds
  6. Anonymous functions and partial application

Algebraic data types and type classes

  1. Record types, and record syntax
  2. Enumerations
  3. General shape of algebraic data types
  4. Differences from OOP modeling
  5. Polymorphic types: lists, trees
  6. First-order type classes: Eq, Ord, Show
  7. Automatic derivation

Input/output

  1. Concept of purity and tagging with IO
  2. do blocks: pure vs. impure values
  3. Basic console and file input/output
  4. Working with callbacks (example using network-simple)
  5. Small introduction to streaming

Functional error handling

  1. Maybe and Either as polymorphic types
  2. Combinators to work on the happy path
  3. Dealing with errors in IO: exceptions

Higher-kinded type classes: Functor and Monad

  1. Looking at commonalities in maps -> Functor
  2. Notion of type constructors and higher-kinded classes
  3. Simulating stateful computations in Haskell
  4. Looking at commonalities in bind -> Monad
  5. Monadic utilities

Higher-kinded type classes: Applicative and Traversable

  1. Applicative as generalizing map to n-ary functions
  2. Applicative style programming
  3. Generalizing map to mapM to traverse

Laziness

  1. Execution model with thunks
  2. Cyclic and infinite structures
  3. Forcing execution to avoid leaks
  4. IO, exceptions and laziness

Async, STM, streaming, resources

  1. Spawning new computations with async
  2. Concurrent execution, racing
  3. Concurrent access with Software Transactional Memory
  4. Managing single resources
  5. Managing pools of resources

Combining Effects

  1. Logging effects
  2. Monadic classes and stacks
  3. An algorithm with environment, state and logging
  4. Integrating with IO effect
TENHO INTERESSE

Cursos Relacionados

Curso Blockchain Visão Geral Para Negócios

16 horas

Curso Blockchain Opportunity Analysis

16 horas

Curso BIM Foundation para Engenheiros

16 horas

Curso App BIM para Engenheiros

24 Horas

Curso Blockchain with Ethereum & Solidity

16 horas

Curso Ethereum Developer Foundation

32 horas

Curso Blockchain Solution Architecture

24 horas

Curso Blockchain for Healthcare

24 horas