Want to learn and master Standard ML?

Join Exercism’s Standard ML Track for access to 57 exercises with automatic analysis of your code and personal mentoring, all 100% free.

Explore exercises

About Standard ML

fun fib 0 = 0
  | fib 1 = 1
  | fib n = fib (n - 1) + fib (n - 2)

Key Features of Standard ML


Standard ML

Algebraic data types

Easy to define and easy to use, with robust pattern matching and pattern-exhaustiveness.

Modular

Powerful and flexible system supporting information hiding and genericity.

Static typing

Safety first! Strong guarantees about the correctness of programs at compile time.

Functionally focused

All the benefits of functional programming with some imperative features.

Automatic type inference

The compiler can often calculate type from context. Programs become concise and easier to write.

Parametric polymorphism

Abstractions across data types - think templates in C++ or generics in Ada.

Get mentored the Standard ML way

Every language has its own way of doing things. Standard ML is no different. Our mentors will help you learn to think like a Standard ML developer and how to write idiomatic code in Standard ML. Once you've solved an exercise, submit it to our volunteer team, and they'll give you hints, ideas, and feedback on how to make it feel more like what you'd normally see in Standard ML - they'll help you discover the things you don't know that you don't know.

Learn more about mentoring

Community-sourced Standard ML exercises

The Standard ML track on Exercism has 57 exercises to help you write better code. Discover new exercises as you progress and get engrossed in learning new concepts and improving the way you currently write.

See all Standard ML exercises
Standard ML

Get started with the Standard ML track

The best part, it’s 100% free for everyone.