Haskell — Functional Programming Platform
By Manuel Chakravarty
Open the Mac App Store to buy and download apps.
Learn functional programming with Haskell. Haskell for Mac provides everything you need in one convenient package.
You get an easy-to-use innovative programming environment optimized to help you understand and develop Haskell code quickly. Regardless of whether you are new to Haskell or whether you like to explore advanced language concepts, algorithms, or libraries, Haskell for Mac will make you more productive than conventional command line-based Haskell systems.
Our secret weapon are our unique Haskell Playgrounds. They facilitate live programming, where your code is constantly executed while you develop and change it. The results of tests and example code are continuously updated and displayed as playground results, regardless of whether they are text, graphics, web pages, or even embedded animations and games.
Haskell for Mac is made for beginners and experts alike.
• The continuous feedback of interactive Haskell playgrounds is ideal for learning functional programming.
• Everybody saves development time due to the fast turnaround as the Haskell code is continuously being type checked and tested against playground code while you edit and refactor.
• Haskell playgrounds provide the ideal environment for experts to quickly experiment with new ideas and to iterate on prototype code.
Haskell for Mac is designed for macOS El Capitan and Sierra.
EASE OF USE
Haskell for Mac is an integrated graphical development environment for Haskell projects, avoiding arcane installation procedures and cryptic command line tools. It includes a project organizer, a Haskell code editor, and playgrounds for interactive code execution. The code editor provides integrated Haskell support for syntax highlighting (with customizable themes) and auto-completion of function, variable, and type names.
LEARN HASKELL AND FUNCTIONAL PROGRAMMING
Playgrounds provide immediate and continuous feedback while learning. Haskell is one of the most widely used functional programming languages and perfectly suited to learning functional programming. Haskell for Mac even comes with its own custom-made Haskell tutorial — check it out at http://learn.hfm.io
Modern software development is about iterating quickly. While you write, modify, and refactor your Haskell code, it is being continuously type checked and tested. This helps finding mistakes quickly and speeds up development.
WRITE GAMES IN HASKELL
Haskell for Mac integrates a purely functional interface to the macOS SpriteKit framework, including its sophisticated animation system and physics engine. Discover how to write games in a functional style. It only requires basic Haskell knowledge and is a great way to learn Haskell!
PLAYGROUNDS ARE SAFE
Whatever you do in a playground, your data is safe. Haskell for Mac uses macOS sandboxing technology to ensure that anything that happens in a playground stays in the playground. Even if you download a Haskell project from the Internet, the playground code cannot access any other data on your Mac, except with your explicit permission.
HTML, GRAPHICS & ANIMATION
Haskell for Mac comes with support for web programming, network programming, graphics programming, animations, and much more. Interactively generate web pages, charts, and animations.
LIBRARIES AND MORE
Haskell for Mac includes a rich set of over 200 widely used Haskell libraries saving you the trouble of compiling and installing them yourself. However, if you like, it still gives you the flexibility of installing your own libraries. For further technical details, please refer to our product website at http://haskellformac.com
Connect with us on Twitter: @haskellformac
We are always looking for ways to improve Haskell. Please send us your suggestions by contacting firstname.lastname@example.org or use the handy feedback form in the Help menu of the app.
What's New in Version 1.5.1
We have been diligently hunting down some bugs:
• Playground console output handles backspace properly again.
• Better formatting of the result of ':t' and friends in playgrounds.
• Package dependencies don't change when some imported packages are simply not installed.
• Correct colour (orange) for type errors in the gutter (to distinguish them from other fatal errors).
• Documentation links take you to the Stackage documentation for non-bundled LTS packages.
• Fix crash when pasting Unicode characters, such as emoji, in the module editor or playgrounds.
• Faster initial project loading, and no more spurious exceptions in playground results on initially loading or switching to modules.