OCaml: funkcje i ich sygnatury

Dla osób przybywających ze świata programowania imperatywnego zobaczenie jak wyglądają typy, które OCaml dedukuje dla definiowanych przez programistę funkcji, często rodzi pewne pytania i niejasności. Zawierająca strzałki notacja na pierwszy rzut oka nie wydaje się najbardziej oczywistym sposobem na wyrażenie np. faktu, że funkcja przyjmuje trzy argumenty typu int i zwraca zmienną tego samego typu. […]

Read More

OCaml: kompilatorowy zawrót głowy

W językach, których implementacje wyposażone są w tryb interaktywny (REPL), zazwyczaj podstawowe funkcjonalności danej technologii poznaje się właśnie w tym środowisku. Jest to po prostu najszybszy i najłatwiejszy sposób kontaktu z nowym językiem. Nie inaczej jest z OCamlem – odpalamy utop i już jesteśmy gotowi zgłębiać tajniki programowania funkcyjnego. Jednak w miarę jak pisane skrypty stają się […]

Read More

OCaml: kłopotliwe średniki

Jednym z bardziej charakterystycznych elementów, na które natyka się każdy, kto ma okazję pisać swoje pierwsze linijki w OCamlu są średniki, które występują w dwóch odmianach: zwykłej oraz podwójnej. Kiedy kompilator sieje błędami niekiedy można uspokoić go dopisując gdzieś w kodzie naszego programu podwójny średnik (lub zastępując takowym pojedynczy), ale czy jest to odpowiedni sposób rozwiązywania problemów? W tym wpisie opowiemy […]

Read More

OCaml: początek przygody

Jakiś czas temu postanowiłem rozpocząć naukę kolejnego języka programowania. Tym razem padło na OCamla, będącego reprezentantem rodziny języków funkcyjnych (ściślej mówiąc, jest to język wieloparadygmatowy, a paradygmat funkcyjny jest jednym ze wspieranych). Dlaczego akurat OCaml, skoro istnieją inne, popularniejsze technologie z tej samej grupy? Mój wybór wynika z niezwykle dużej użyteczności OCamla na gruncie tworzenia […]

Read More