Using fp-ts for Functional Programming in TypeScript

Gain insights into functional programming with TypeScript. Learn about core fp-ts functionality and monads like Option and Either to enhance your TypeScript projects effectively.

Intermediate

111 Lessons

30h

Certificate of Completion

Gain insights into functional programming with TypeScript. Learn about core fp-ts functionality and monads like Option and Either to enhance your TypeScript projects effectively.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

112 Playgrounds
10 Quizzes

This course includes

112 Playgrounds
10 Quizzes

Course Overview

Functional programming is a programming paradigm that emphasizes immutability and pure functions. It not only makes code easier to understand, test, and parallelize, but also offers improved performance. TypeScript is a statically-typed object-oriented programming language that builds on JavaScript. Although TypeScript is not a purely functional programming language, it can be used to write functional code too. This course is for beginners with little to no knowledge of TypeScript and functional programmi...Show More

What You'll Learn

Familiarity with the concepts of functional programming

Working knowledge of functional JavaScript

An understanding of TypeScript’s type system

The ability to build your own projects using TypeScript

Hands-on experience with the fp-ts library

What You'll Learn

Familiarity with the concepts of functional programming

Show more

Course Content

1.

Introduction to Functional Programming

Get familiar with functional programming's concepts, benefits in JavaScript, and TypeScript enhancements.
2.

Tidbits: Some Useful JavaScript and TypeScript

Unpack the core of essential JavaScript/TypeScript fundamentals for functional programming and practical coding challenges.
3.

First Steps with Functional Programming

Examine fundamental aspects of functional programming and practical applications using higher-order functions, currying, composition, and monads.
4.

Our First Project: User Registration

Grasp the fundamentals of user registration with fp-ts, focusing on robust type definitions, validations, and adaptable code structure.
5.

Deploying a Monitoring Application

Take a closer look at deploying and monitoring applications using functional programming in TypeScript.
6.

Testing

8 Lessons

Tackle different testing methodologies, TDD, and functional programming testing practices in TypeScript.

Automate Login-Workflow Testing with Playwright

Project

7.

Once More unto the Breach: Our Final Application

11 Lessons

Master the steps to build and deploy hotel reservations using TypeScript, Lambdas, and DynamoDB.
8.

Expanding our Reservation Application

10 Lessons

Get familiar with enhancing the reservation app using Reader, State monads, and improved configs.
9.

Rewriting an Application

11 Lessons

Walk through rewriting an application using functional programming principles for better maintainability.
10.

Advanced FP Techniques

8 Lessons

Master the steps to advanced FP techniques, including DSLs, tagless final, and free monads.
11.

Conclusion

1 Lesson

Enhance your skills in applying TypeScript and fp-ts for functional programming, and future explorations.
12.

Appendix

1 Lesson

Solve problems in functional programming with advanced monads like Writer and These.

Course Author

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor