Wpis z mikrobloga

Po kilku miesiącach przerwy powracam z nową serią artykułów - tym razem na tapet weźmiemy przede wszystkim dwa języki - Haskell oraz Prolog. Oba deklaratywne, oba dosyć niszowe i - co najważniejsze - oba są niezwykle ciekawe!

Nie będzie to tutorial od podstaw, bowiem w tym zakresie nie brakuje dobrych materiałów (jak coś, to mogę zarzucić odpowiednimi linkami ( ͡° ͜ʖ ͡°)). Można za to spodziewać się wpisów, poruszających wybrane zagadnienia i problemy, które łatwo napotkać podczas nauki tych technologii.

Będziemy zatem rozmawiali o funktorach, predykatach, monadach i innych ciekawych rzeczach. Zaczniemy jednak od czegoś prostszego - algebraicznych typów danych. Dlaczego nazywamy je algebraicznymi? Jak poradzić sobie z dziwnym zachowaniem rekordów? Zapraszam do lektury!

LINK DO WPISU: Algebraiczne typy danych i haskellowe rekordy

Jeśli interesują Cię moje wpisy, obserwuj tag #polydev
#programowanie #programista15k #naukaprogramowania #haskell #programowaniefunkcyjne
informatyk - Po kilku miesiącach przerwy powracam z nową serią artykułów - tym razem ...

źródło: comment_1612874011J0IZZ5hizuMoVk8rHeWXwh.jpg

Pobierz
  • 6
@FREEQ: mam już przygotowanych parę kolejnych artykułów o Haskellu - m.in. o klasach typów, funktorach oraz o funktorach aplikatywnych, a i coś o monoidach oraz monadach też się tworzy więc zachęcam do śledzenia. ;)

Wiadomo - tematu bynajmniej nie wyczerpię, a jeśli chodzi o jakość, to można znaleźć w sieci lepsze treści od moich, ale z doświadczenia wiem, że zgłębiając dany temat (zwłaszcza związany z różnymi dzikościami FP) warto jest poznać
@informatyk: a takie pytanie mam. Czy żeby móc robić rzeczy muszę koniecznie rozumieć monady, funktory, monoidy? Jest to faktycznie wiedza tak przydatna? Jaka masz opinie na ten temat kolego? :)
@FREEQ: a czy żeby pisać w Pythonie trzeba rozumieć dekoratory, generatory i menadżery kontekstu? No niby nie - bez tych narzędzi też zaimplementujesz dowolny kod, ale żeby rozumieć kod innych oraz lepiej wykorzystać potencjał języka, trzeba poznać go jak najlepiej.

Dosyć podobnie jest w Haskellu. Używając tylko prostszych elementów - funkcji wyższego rzędu, pattern matchingu, partial application itd. też będziesz w stanie pisać w Haskellu. Co więcej, trzeba tak właśnie robić