Git Product home page Git Product logo

practical-fp-in-ts-oct-21's Introduction

Practical Functional Programming with Typescript

About This Event

Welcome to Practical Functional Programming with Typescript!

In this 4-day interactive workshop (5h/day), we’ll cover a wide range of topics, mixing theory and practice. You’ll learn the basics of FP (Pure Functions, ADTs, e-DSLs) and how to use functional effect-systems to build modular, performant applications that are easy to write and maintain. We expect attendees to do practical exercises and solve problems in real-time. Typically, every 10 minutes of theory lessons follow a 15-20 minutes exercise session. One of our core principles is no surprises. We teach everything from the basic principles, without presumptions, and without leaving the magic unfolded. In this workshop, Typescript developers will learn how to solve complex problems in asynchronous and concurrent programming using the effect-ts library.

Upon completion of the course, you'll be able to:

  • Use the effect-ts library (and similar libraries such as fp-ts, qio, waveguide);
  • Build modern, high-performance, asynchronous and concurrent, resource-efficient, and stack-safe applications, both in the back-end (well-optimized for serverless) and front-end;
  • Implement best practices regarding error management and dependency management.

Who is it for

This course is for Typescript developers who are eager to learn how to build modern, robust, and testable applications that are performant both in the back-end and front-end.

Prerequisites

Good working knowledge of Typescript, including tagged unions, conditional types, and infer.

Topics

Day 1:

  • Pure Functions
  • Introduction of Effect-TS
  • Variance in TypeScript: Covariance and Contravariance
  • Tagged unions & the very basic of ADTs
  • The Effect Data-Type and its utilities

Day 2:

  • Lightweight introduction to Fibers and concurrency
  • Managing Resources with the Managed Data-Type
  • Using Layers to structure dependency construction
  • Writing modular applications with Effect
  • Testing modular applications
  • Introduce the mars rover kata

Day 3:

  • A quick overview of the tools in the box (queues, ref, schedule, stream, etc.)
  • ADTs, GADTs, and e-DSLs
  • Build a tiny, minimal version of Schema

Day 4:

  • Build a tiny, minimal version of Effect (synchronous and stack-safe)
  • Build a minimal HTTP server that executes queries against a simulated db

Organization

The workshop will be remote via Zoom.

Community

Don't forget to join our Discord community: https://discord.com/invite/drVHpNgqDu

Schedule

  • 16:00 - 17:15 : 1st session
  • 17:15 - 17:30 : coffe break
  • 17:30 - 18:30 : 2nd session
  • 18:30 - 19:00 : dinner break
  • 19:00 - 20:00 : 3rd session
  • 20:00 - 20:15 : coffee break
  • 20:15 - 21:00 : 4th session

// record

practical-fp-in-ts-oct-21's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.