Mastering Functional Programming with OCaml and Haskell
Gain insights into functional programming with OCaml and Haskell, explore lambda calculus, abstractions, and dataflows, and learn to apply these concepts to real-world scenarios, contrasting with Java.
I've had more than 20 years of experience studying software development and working in the software industry, having successfully developed many software systems and components. In my Ph.D. thesis, I developed a novel tool for refactoring dataflow diagrams. The tool has been widely used by one of the largest automobile companies. I was also a key contributor who developed language and IDE features for a typed JavaScript programming language that resembles TypeScript. Recently, my focus has been on developing backend and web apps for a big ride-hailing software company. My courses reflect my belief that the only way to stay ahead of the game in the quickly changing software industry is to master the fundamentals and principles that cut across programming languages, frameworks, and tools.
Join 3.1 million developers at
What You'll Learn
- A strong understanding of the core concepts of functional programming
- Hands-on experience with functional programming techniques in both OCaml and Haskell
- The ability to determine when either functional or imperative programming is best for a project
- A deep familiarity with the fundamentals of programming functions in any language, particularly in parsing, type checking, compilation and execution
Learning Roadmap
1.
Introduction
Introduction
2.
Expressions: Building Blocks of Functional Programs
Expressions: Building Blocks of Functional Programs
3.
Building Abstractions with Functions
Building Abstractions with Functions
7 Lessons
7 Lessons
4.
Compound Data Types
Compound Data Types
5 Lessons
5 Lessons
5.
Common Computation Patterns
Common Computation Patterns
6 Lessons
6 Lessons
6.
Dataflow Programming with Functions
Dataflow Programming with Functions
4 Lessons
4 Lessons
7.
Applying Functional Programming to Various Domains
Applying Functional Programming to Various Domains
2 Lessons
2 Lessons
8.
Conclusion
Conclusion
2 Lessons
2 Lessons
9.
Appendix
Appendix
2 Lessons
2 Lessons
Minh Quang Tran PhD
I'm a passionate and world open-minded software engineer with a solid theoretical background. I've worked both in tech startups and big companies for many years. I hold a doctoral degree in Computer Science from Technical University of Berlin, Germany.
Trusted by 3.1 million developers working at companies
Anthony Walker
@_webarchitect_
Evan Dunbar
ML Engineer
Software Developer
Carlos Matias La Borde
Souvik Kundu
Front-end Developer
Vinay Krishnaiah
Software Developer
Built for 10x Developers












Free Resources