Przymuszony na studiach zdołałem napisać w Haskellu interpreter wymyślonego przez siebie języka programowania, nawet z konieczności transformaturów monad używałem, choć oczywiście ani trochę nie czuję, bym rozumiał, co robiłem.
Niewątpliwie programowanie funkcyjne to zaległość, którą trzeba będzie nadrobić, ale na poważnie się za to wezmę kiedy indziej...
Na razie jedno proste pytanie: Jak zaimplementować w Haskellu coś tak prostego, jak Fibonacci lub 3n+1? Myślałem nad tym i naprawdę nie mam pojęcia.
Te problemy wymagają spamiętywania, by ich złożoność nie rosła do absurdalnych wielkości. Jak takie coś się implementuje w Haskellu?
Widzę dwie możliwości: (a) funkcja licząca fibonacciego zawsze oczekuje jako argumentu i zwraca nie tylko wynik, ale i obecną tablicę z cache. Ale taki pattern to jest dokładnie to, co - o ile rozumiem - mają abstrahować monady. A więc (b) monada State
- ale to wydaje się być jakiś overkill.
kmph