HaskellPro will be a native macOS IDE for Haskell, written in Haskell, using APIAnyware-MacOS bindings for native macOS APIs. WebKit serves as the rendering layer and Monaco as the code editor. The project is currently in pre-development; no implementation exists yet.

Why a Dedicated Haskell IDE?

Haskell development is fundamentally type-directed. The type system is a design tool, not just a safety net. HaskellPro will make types, typeclasses, and their relationships as navigable as a class hierarchy in an OO IDE — with purpose-built tooling for type-driven development, typeclass exploration, and deep interactive feedback.

Planned Features

Type-Driven Development

  • Type explorer — browse type signatures, expand type aliases, inspect type families and associated types
  • Typeclass hierarchy browser — navigate typeclass inheritance, view instances, find orphan instances
  • Typed holes — interactive hole-filling with suggestions ranked by type compatibility
  • Type-at-point — hover to see inferred types for any sub-expression

Module & Dependency Tools

  • Module graph visualization — see import/export relationships across the project
  • Export browser — navigate what each module exposes, with type signatures
  • Dependency explorer — browse Hackage dependencies, their APIs, and version constraints

Evaluation & Debugging

  • GHCi integration — interactive evaluation with full type information
  • Core/STG/Cmm inspection — view intermediate representations for performance analysis
  • Profiling integration — heap and time profiling visualization

Architecture

HaskellPro is built entirely on APIAnyware-MacOS bindings — monadic and lens-based — with direct WebKit access from Haskell and native menus, window management, and system integration. Each *Pro IDE is itself a proof that APIAnyware bindings are complete enough to build a real native application with no FFI escape hatches required.