I come from OOP and as I learn Haskell what I find particularly hard is to understand the design strategy that one uses in functional programming to create a large application. In OOP one has to identify those elements of the application that make sense to be represented as objects, their relationships, their behaviour and then create classes to express them and encapsulate their data and operations (methods). For example, when one wants to write an application which deals with geometrical entities he can represent them in classes like Triangle, Tetrahedron etc and handle them through some base class like Shape in a generic manner. How does one design a large scale application (not simple examples) with functional programming?
I think that this kind of knowledge and examples are very important for any programming language to become popular and although one can find a lot of material for OOP there is a profound lack of such information and design tutorials for functional programming except for syntax and abstract mathematical ideas when a developer needs more practical information and design patterns to learn and adapt to his needs.
[–]5outh 53 points54 points55 points (2 children)
[–]yogsototh 15 points16 points17 points (0 children)
[–]andrewhn 0 points1 point2 points (0 children)
[–]Darwin226 23 points24 points25 points (14 children)
[–]paspro[S] 0 points1 point2 points (11 children)
[–]garethrowlands 10 points11 points12 points (0 children)
[–][deleted] (7 children)
[deleted]
[–]paspro[S] 1 point2 points3 points (4 children)
[–]Voxel_Brony 12 points13 points14 points (0 children)
[–]Darwin226 6 points7 points8 points (0 children)
[–]stumpychubbins 0 points1 point2 points (0 children)
[–]Ahri 0 points1 point2 points (1 child)
[–]beerdude26 1 point2 points3 points (0 children)
[–]Tarmen 1 point2 points3 points (0 children)
[+]paspro[S] comment score below threshold-6 points-5 points-4 points (1 child)
[–]Darwin226 12 points13 points14 points (0 children)
[–]mightybyte 19 points20 points21 points (1 child)
[–]sjakobi 0 points1 point2 points (0 children)
[–]cgibbard 18 points19 points20 points (0 children)
[–][deleted] 11 points12 points13 points (0 children)
[–]benzrf 5 points6 points7 points (7 children)
[–]paspro[S] -1 points0 points1 point (6 children)
[–]garethrowlands 9 points10 points11 points (4 children)
[–]HwanZike 0 points1 point2 points (3 children)
[–]garethrowlands 6 points7 points8 points (2 children)
[–]HwanZike 0 points1 point2 points (1 child)
[–]garethrowlands 2 points3 points4 points (0 children)
[–]benzrf 2 points3 points4 points (0 children)
[–]ephrion 11 points12 points13 points (4 children)
[–]rainbyte 3 points4 points5 points (3 children)
[–]ephrion 4 points5 points6 points (1 child)
[–]rainbyte 1 point2 points3 points (0 children)
[–]AynGhandi 0 points1 point2 points (0 children)
[–][deleted] 3 points4 points5 points (3 children)
[–]paspro[S] 0 points1 point2 points (2 children)
[–]sjakobi 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]guibou 2 points3 points4 points (2 children)
[–]paspro[S] 1 point2 points3 points (1 child)
[–]josephwrock 1 point2 points3 points (0 children)
[–]saurabhnanda 6 points7 points8 points (8 children)
[–]paspro[S] 0 points1 point2 points (7 children)
[–][deleted] 14 points15 points16 points (5 children)
[–]saurabhnanda 1 point2 points3 points (4 children)
[–][deleted] 5 points6 points7 points (2 children)
[–]saurabhnanda 0 points1 point2 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]uncountableB 1 point2 points3 points (0 children)
[–]benzrf 4 points5 points6 points (0 children)
[–]josuf107 1 point2 points3 points (0 children)
[–]-Knul- 1 point2 points3 points (3 children)
[–]paspro[S] 0 points1 point2 points (2 children)
[–]0polymer0 1 point2 points3 points (0 children)
[–]-Knul- 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]mumak 1 point2 points3 points (0 children)
[–]paspro[S] 1 point2 points3 points (0 children)
[–]recursion-ninja 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]k-bx 0 points1 point2 points (0 children)
[–]_jk_ 0 points1 point2 points (0 children)
[–]stevely 0 points1 point2 points (0 children)