
Haskell is one of the leading languages for teaching functional programming, enabling students to write simpler and cleaner code, and to learn how to structure and reason about programs. This introduction is ideal for beginners: it requires no previous programming experience and all concepts are explained from first principles via carefully chosen examples. Each chapter includes exercises that range from the straightforward to extended projects, plus suggestions for further reading on more advanced topics. The author is a leading Haskell researcher and instructor, well-known for his teaching skills. The presentation is clear and simple, and benefits from having been refined and class-tested over several years. The result is a text that can be used with courses, or for self-learning. Features include freely accessible Powerpoint slides for each chapter, solutions to exercises and examination questions (with solutions) available to instructors, and a downloadable code that's fully compliant with the latest Haskell release.
Functional Programming in Haskell https://youtube.com/playlist?list=PLF1Z-APd9zK7usPMx3LGMZEHr...
Those who learn well from a text resource, Haskell MOOC from mooc.fi [2] is pretty good.
[0]: https://www.cs.nott.ac.uk/~pszgmh/pih.html
Python? You may be surprised to know one or two pending tricks about that programming language, take a look at Design of Computer Programs by Peter Norvig at Udacity [4]
Scala is a good option too, since you mentioned getting tired from lack of real statically typing. EPFL Extension School has a good one: Effective Programming in Scala (Also available for free at Coursera).
Hope that helps, and happy learning!
[1] https://www.edx.org/learn/computer-programming/delft-univers...
[2] http://www.cs.nott.ac.uk/~pszgmh/pih.html
[3] https://www.youtube.com/watch?v=rkZzg7Vowao
[4] https://www.udacity.com/course/design-of-computer-programs--...
Two great funcprog resources that I know of are:
1. Functional Programming in Haskell by Graham Hutton [0]
2. OCaml Programming: Correct + Efficient + Beautiful [1]
[0]: https://youtube.com/playlist?list=PLF1Z-APd9zK7usPMx3LGMZEHr...
Perhaps you are already aware of these resources, but I will never get tired of recommending the following: * FP101x by Mr. Erik Meijer (The course is archived on edx.org but you can work your way through it). * The above is based on the outstanding book by Graham Hutton, Programming in Haskell. * And, if you can afford it in terms of time, a book from Mr. Peter Van Roy, Concepts, Techniques, and Models of Computer Programming. (There is a section devoted to FP).
Last but not least, I do love JavaScript.
Hope that helps.
[1]: https://www.youtube.com/channel/UCBDp7ydYTHi1dh4Gnf3VTPA