Curso Haskell

  • DevOps | CI | CD | Kubernetes | Web3

Curso Haskell

24 horas
Visão Geral

OCurso Haskell apresenta as ideias da Programação Funcional e ensina seus conceitos essenciais, e com isso apresenta a linguagem de programação Haskell. O Curso Haskell explora as diferenças fundamentais com a programação imperativa e ensina a habilidade de pensar funcionalmente.

Ao final do Curso Haskell, você aprenderá todas as ferramentas e conceitos necessários para começar a escrever e compreender programas simples em Haskell.

Pre-Requisitos
  • Experiência de programação com pelo menos uma outra linguagem de programação.
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico

Introduction to Haskell

  1. Platform and tools
  2. Hello World program
  3. A bit of history

Haskell syntax

  1. Functions
  2. Case distinction and pattern matching
  3. Layout (indentation)
  4. Control structures (if, case, let, where)

Type system

  1. Basic types
  2. Simple function types
  3. Polymorphism
  4. Higher order functions
  5. Custom types
  6. Numbers in Haskell
  7. Type classes

Building programs

  1. IO handling
  2. Module system
  3. Packages and libraries
  4. Compiling applications

Examples and case studies

  1. Eight queens puzzle in Haskell
  2. Dynamic programming and memoization in Haskell
  3. Simplified parsing of CSV files
  4. An HTTP client

Basic Typeclassopedia

  1. Functor
  2. Applicative
  3. Foldable, Traversable
  4. Monads
  5. Other (Arrow, etc.)

Advanced types

  1. Algebraic data types in depth
  2. Advanced Type classes
  3. Type families
  4. GADTs

Debugging and code optimizing

  1. Strictness in data types and functions
  2. Memory and CPU profiling
  3. Efficient data structures (bytestring, text, vector and co.)
  4. Note on "unsafes"

Understanding the Runtime System

  1. Memory layout in GHC
  2. Unpacking strict fields
  3. Understanding and reading Core

Concurrency in Haskell

  1. Haskell threads
  2. MVars and co.
  3. STM
  4. Parallelism

Foreign Function Interface

  1. FFI basics
  2. Safe vs. unsafe
  3. Globals in Haskell

Template Haskell

  1. Splicing and quotation
  2. The Q monad
  3. Reification
TENHO INTERESSE

Cursos Relacionados

Curso Ansible Red Hat Basics Automation Technical Foundation

16 horas

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Curso Ansible Linux Automation with Ansible

24 horas

Ansible Overview of Ansible architecture

16h

Advanced Automation: Ansible Best Practices

32h