SlaveCode LogoSlaveCode.
Academy
RoadmapProblemsSystem Design
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
SlaveCode LogoSlaveCode.

Standardize your coding journey. From basic academy courses and guided roadmaps to advanced system design, company interview prep, and real-time coding arenas. The all-in-one platform to master algorithms and prove your engineering excellence.

Learn & Practice

  • Academy
  • Problems
  • Roadmap
  • System Design

Compete & Tools

  • Arena
  • Contests
  • Compilers

Legal & Support

  • Report an Issue
  • Privacy Policy
  • Terms of Service
  • Contact Us

© 2026 SlaveCode. All rights reserved.

PureScript

PureScript

A strongly-typed functional programming language that compiles to JavaScript

Master PureScript with
Interactive Learning

Elevate your PureScript skills through 32 curated exercises across 1 core concepts. Master problem-solving with a structured learning path designed for modern developers.

PureScript

About PureScript

PureScript is a purely functional, statically-typed programming language with global type inference.

Functional means that functions are first-class values. Functions are an important and powerful tool for abstraction. In PureScript, computation is modeled as the evaluation of expressions made up of function applications, rather than as the execution of a sequence of instructions.

Purely Functional means that it is possible to tell if a computation has side-effects or not, meaning that if a computation changes a global variable, reads from input, writes to a socket, etc. it will be reflected in the type of the computation.

Statically-typed means that all computations have a type that is known before running the program.

Global type inference means that the compiler can figure out the type of computations in the entire program without needing the programmer to specify the type.

Key Features of PureScript

Compile to JavaScript

Allowing you to use PureScript anywhere JavaScript is used.

Functional

Use functional techniques such as row polymorphism, algebraic data types, and type classes.

Tooling

PureScript has a rich ecosystem of tools and extensions for most editors.

Statically Typed

PureScript is statically typed, with a powerful type system inspired by Haskell.

Active Community

Active community of developers and users.

Expressive

PureScript has lightweight syntax which allows for expressive code

Track icon

Compile to JavaScript

Allowing you to use PureScript anywhere JavaScript is used.

Functional

Use functional techniques such as row polymorphism, algebraic data types, and type classes.

Tooling

PureScript has a rich ecosystem of tools and extensions for most editors.

Statically Typed

PureScript is statically typed, with a powerful type system inspired by Haskell.

Active Community

Active community of developers and users.

Expressive

PureScript has lightweight syntax which allows for expressive code

Dive into PureScript practice challenges

Hello World
Hello World
Level 1

SlaveCode's classic introductory exercise. Just say "Hello, World!".

Leap
Leap
Level 1

Determine whether a given year is a leap year.

Pangram
Pangram
Level 1

Determine if a sentence is a pangram.

Bob
Bob
Level 1

Bob is a lackadaisical teenager. In conversation, his responses are very limited.

Accumulate
Accumulate
Level 1

Implement the `accumulate` operation, which, given a collection and an operation to perform on each element of the collection, returns a new collection containing the result of applying that operation to each element of the input collection.

Collatz Conjecture
Collatz Conjecture
Level 1

Calculate the number of steps to reach 1 using the Collatz conjecture.