Haskell - przegląd

Haskell to funkcjonalny język programowania, który został specjalnie zaprojektowany do obsługi obliczeń symbolicznych i aplikacji do przetwarzania list. Programowanie funkcjonalne opiera się na funkcjach matematycznych. Oprócz języka Haskell, niektóre z innych popularnych języków, które stosują się do paradygmatu programowania funkcjonalnego, to: Lisp, Python, Erlang, Racket, F #, Clojure itp.

W conventional programing, instrukcje są traktowane jako zestaw deklaracji w określonej składni lub formacie, ale w przypadku functional programingwszystkie obliczenia są traktowane jako połączenie oddzielnych funkcji matematycznych.

Funkcjonalność z Haskellem

Haskell jest szeroko używanym językiem czysto funkcjonalnym. Tutaj wymieniliśmy kilka punktów, które sprawiają, że ten język jest tak wyjątkowy w porównaniu z innymi konwencjonalnymi językami programowania, takimi jak Java, C, C ++, PHP itp.

  • Functional Language- W konwencjonalnym języku programowania instruujemy kompilator, który wykonuje serię zadań, które są niczym innym, jak mówieniem komputerowi „co ma robić” i „jak to zrobić?” Ale w Haskell powiemy naszemu komputerowi "co to jest?"

  • Laziness- Haskell to leniwy język. Przezlazy, mamy na myśli to, że Haskell nie oceni żadnego wyrażenia bez powodu. Gdy silnik oceny stwierdzi, że wyrażenie wymaga oceny, tworzy plikthunk data structure zebrać wszystkie wymagane informacje do tej konkretnej oceny i wskazać na to thunk data structure. Silnik oceny zacznie działać tylko wtedy, gdy będzie to wymagane do oceny tego konkretnego wyrażenia.

  • Modularity- Aplikacja Haskell to nic innego jak szereg funkcji. Można powiedzieć, że aplikacja Haskell to zbiór wielu małych aplikacji Haskell.

  • Statically Typed- W konwencjonalnym języku programowania musimy zdefiniować szereg zmiennych wraz z ich typem. W przeciwieństwie do Haskell jest językiem ściśle maszynowym. Pod pojęciem języka ściśle typizowanego rozumiemy, że kompilator Haskell jest wystarczająco inteligentny, aby określić typ zadeklarowanej zmiennej, dlatego nie musimy wyraźnie wspominać o typie użytej zmiennej.

  • Maintainability - Aplikacje Haskell są modułowe, a zatem ich utrzymanie jest bardzo łatwe i opłacalne.

Programy funkcjonalne są bardziej współbieżne i wykonują je zgodnie z równoległością, aby zapewnić dokładniejszą i lepszą wydajność. Haskell nie jest wyjątkiem; został opracowany w sposób umożliwiający obsługęmultithreading efektywnie.

Witaj świecie

To prosty przykład pokazujący dynamizm Haskella. Spójrz na poniższy kod. Wszystko, czego potrzebujemy, to tylko jedna linia do wydrukowania „Hello Word” na konsoli.

main = putStrLn "Hello World"

Gdy kompilator Haskell napotka powyższy fragment kodu, natychmiast zwróci następujące dane wyjściowe -

Hello World

W tym samouczku udostępnimy wiele przykładów, aby pokazać moc i prostotę Haskell.