Model a Trading Order Book with Algebraic Data Types in Haskell
Overview
What this challenge is about.
Model a trading order book in Haskell with ADTs and property tests, then deliver code and a tutorial for a verifiable certificate.
The scenario
The firm (proprietary capital, 8 strategies live, ~USD 220M daily notional) interviews 12+ junior candidates a quarter and wants a reference codebase that demonstrates the type-driven design they expect.
The Brief
What you'll do, and what you'll demonstrate.
Implement a price-time-priority limit order book in idiomatic Haskell with ADTs that make illegal states unrepresentable, validated by property-based tests.
Earning criteria — what you'll demonstrate
- Apply algebraic data types to model a real financial domain
- Use the type system to make illegal states unrepresentable
- Apply property-based testing to invariant validation
- Write idiomatic Haskell that a senior reviewer will accept
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Functional Programming
Bachelor · Programming Languages
Strong alignment
This challenge maps to Functional Programming at the Bachelor level. It sharpens the same practical skills your coursework expects — but in a real industry context with actual constraints and deliverables.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
- Haskell
Apply haskell to solve real industry problems and demonstrate production-level capability.
- Algebraic Data Types
Apply algebraic data types to solve real industry problems and demonstrate production-level capability.
- Property Based Testing
Apply property based testing to solve real industry problems and demonstrate production-level capability.
- Type Driven Design
Apply type driven design to solve real industry problems and demonstrate production-level capability.
- Pure Functions
Apply pure functions to solve real industry problems and demonstrate production-level capability.
- Quickcheck
Apply quickcheck to solve real industry problems and demonstrate production-level capability.
Careers
Career paths this challenge builds toward
Completing this challenge demonstrates skills that transfer directly to these roles: