Programowanie funkcyjne w języku Haskell

Czas trwania szkolenia:5 dni (40h)

Kod kursu:HASKELL/FN

Poziom zaawansowania:
functional-programminghaskell

Szkolenie na zamówienie

Szkolenie dostosowane do potrzeb Twojego zespołu. Dostępne wyłącznie na zamówienie.

  • Dostosowany program
  • Indywidualna wycena
  • Dowolny termin
Icon with laptop

O szkoleniu Programowanie funkcyjne w języku Haskell

W cenie otrzymasz:

  • Materiały szkoleniowe
  • Certyfikat ukończenia szkolenia
  • W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki

Dla kogo?

  • Programiści chcący tworzyć aplikacje z użyciem paradygmatu funkcyjnego
  • Programiści chcący zwiększyć efektywność codziennej pracy oraz poznać nowe sposoby budowania abstrakcji i rozwiązywania problemów

Wymagania

  • Podstawowa umiejętność programowania w dowolnym języku

Zalety

  • Warsztatowy charakter zajęć - nauka przez praktykę
  • Zwrócenie szczególnej uwagi na obowiązujące konwencje oraz dobre praktyki
  • Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
  • Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
  • Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how

Cele szkolenia

  • Przyswojenie składni języka Haskell, poznanie obowiązujących konwencji kodowania oraz najważniejszych idiomów programistycznych
  • Kompleksowe wprowadzenie do funkcyjnego paradygmatu programowania
  • Poznanie najważniejszych elementów SDK
  • Zapoznanie z dostępnymi narzędziami deweloperskimi

Program

Programowanie funkcyjne

  • Definicja, założenia, zalety, wyzwania
  • Podstawy rachunku lambda
  • Wyrażenia i ich ewaluacja
  • Czyste funkcje
  • Częściowa aplikacja i currying funkcji
  • Niezmienność
  • Przezroczystość referencyjna
  • Rekurencja
  • Funkcje wyższego rzędu i kompozycja
  • Funkcje polimorficzne
  • Funkcyjne struktury danych

Podstawy języka Haskell

  • Przygotowanie środowiska
  • Tworzenie i konfiguracja projektu
  • Typy wbudowane
  • Funkcje i wyrażenia
  • Operatory
  • Pattern matching oraz bindings
  • Wyrażenia logiczne (if-then-else, case, guards)
  • Definiowanie typów niestandardowych
  • Zastosowanie rekurencji
  • Wykorzystanie biblioteki standardowej
  • Organizacja kodu z użyciem modułów
  • Wykorzystanie zewnętrznych zależności

Funkcyjne budowanie abstrakcji

  • Kompozycja funkcji w praktyce
  • Typeclasses
  • Algebraic Data Types (ADT)
  • Praca z listami i drzewami
  • Elementy algebry abstrakcyjnej m.in. magma, semigroup, monoid, group, semigroup
  • Functors, Applicative Functors, Traversables, Alternatives
  • Monads
  • Komponowanie typów

Programowanie funkcyjne w realnym projekcie

  • Synchroniczne i asynchroniczne efekty uboczne
  • Interakcja ze środowiskiem zewnętrznym / poprawne wykorzystanie kodu powodującego efekty uboczne
  • Zarządzanie stanem
  • Architektura projektu

Podobne szkolenia