On theory and practice of PureScript

Make a submission

Submissions close 31 Jan 2022, 01:17 PM



It is becoming common to have web applications with tens of thousands of lines of handwritten Javascript. Javascript, however, is a less than ideal base to build large applications upon.

Javascript, as a language, has grown with several new features being added to the Ecmascript specification that help you manage the complexity. However, it may surprise you to know that many of those features have been present in functional programming languages for a long time and were heavily inspired by them. You can see functional programming’s influence even in many frameworks, libraries, and tools that have come up in the Javascript ecosystem, promoting concepts such as purity, immutability, and declarative programming.

Why PureScript

The best way to bring functional programming to the web is to use a compile-to-javascript language like PureScript. PureScript is a mature, functional programming language which was written from the ground up to interoperate with the Javascript ecosystem. PureScript’s strong static type system and compile time checks ensure quality and correctness of code. PureScript outputs Javascript which is readable and can be debugged with the browser dev tools, and allows seamless interop with the Javascript. You can continue to use existing JS libraries such as React, but with an added layer of safety.

About PureScript Conference

This conference is focused on the theory and practice of the PureScript programming language. We will discuss:

  • How to get started
  • How to get productive - best practices and tooling.
  • Demystifying PureScript - a deep dive of the concepts.
  • Real world case studies of PureScript in production, and the lessons learnt.

Key takeaways

At the end of the conference you will:

  1. Gain a deep understanding of PureScript, its ecosystem, and how it compares with other prevalent approaches.
  2. Know how to architect large applications with PureScript that are maintainable, and scale to large codebases and team sizes.
  3. Understand some of the practical challenges of adopting PureScript and how to overcome them.
  4. Get advice, tips, and techniques from industry leaders with real world PureScript experience.

Who should participate

  • Functional programming enthusiasts
  • Engineering Leaders - directors, leads, architects
  • Web developers

About the curator

PureScript conference is curated by Anupam Jain. Anupam works with strongly typed FP, user interfaces, analytics, and fintech. Anupam has written the Concur UI framework, and has founded the FP India user group.

Contact details

For further details about the PureScript conference, call 7676332020. Or, you can leave your query at https://hasgeek.com/FP-Juspay/purescript-conference/comments. The organizers will get back to you.

Hosted by

FP-Juspay is a forum to dive deep and contribute to the world of Functional Programming - Frameworks, Applications and People. more

Supported by

Community sponsor

Welcome to the MLabs page! We are a Haskell consultancy and a collection of real FP geeks. We are hiring Haskellers, Purescripters and other FP enthusiasts all year round. If you love Haskell and are looking for a job or internship, you apply here: https://apply.workable.com/mlabs/j/63DAAA4AEF/ more


Jordan Martinez


Using Monad Transformers without understanding them

Submitted Jan 11, 2022

Do you understand Monads and “do notation,” but still do not understand Monad Transformers? Do you want to use a framework or library, but it has been scaring you off because it uses a monad transformer? Then this talk is for you.

This talk answers two questions:
- what problem do monad transformers solve?
- how do I use monad transformers to solve that problem?

This talk will
- show examples of common monad transformers and their equivalent “untransformed” versions
- show how to “sugar” a concrete type into a monad transformer
- explain why the order of monad transformers matter
- show how to write programs using monad transformers and their corresponding type classes

This talk will not explain why monad transformers actually work. But, it will be easier for you to learn why they work after watching this talk.

By the end of this talk, you will
- understand when to use transformers
- be able to use ExceptT, ReaderT, and StateT
- have an intuition for how “Tagless Final” works


{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Ben Hart

Asynchronous JavaScript & PureScript for Haskellers

In this introductory talk, we will look at Asynchronous programming primitives in JavaScript and PureScript from first principles, as well as how Purescript creates structure and principled approaches to asynchronous programming. more

19 Jan 2022