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.4.0
This version brings improvements in a number of areas:
• better package management,
• better auto-completion results in modules with code errors,
• based on LTS Haskell 6.29,
• option to do type-checking only in playgrounds, and
• an improved ability to interrupt long running computations.
This is a great learning tool!
I come out of a C, C++, C# world, and Haskell has been a challenge for me to noodle...until this product came along. I read a couple of tutorials and overviews and messed with plugins for my traditional dev tooling…but still got kinda lost along the way. This product, together with it’s accompanying tutorial and sample projects, broke down all the barriers. The playground is awesome! It makes figuring out your mistakes (and you will make mistakes) easy and interactive. I found myself writing immensely powerful programs with very little code…demonstrating the power of the language. Some of these programs - very natural in Haskell - would be awkward or difficult with my traditional tools. It’s a credit to the authors to simply illustrate the power of functional programming early. That’s the big epiphany that folks encumbered with preconceptions similar to mine are looking for. I am grateful!
Like Xcode for Haskell
If you’ve ever used Swift Playgrounds, you kind of know what to expect here. Honestly there’s no higher praise I can give an app than to say it does exactly what it advertises it does. It has a level of polish to match the Xcode interfaces it clearly takes much inspiration from.
If you are reading this you probably want to buy it
I’ve been using Haskell since the late 1990s, mostly Vim / Hugs and then switched to Vim / GHCI. Never managed to get Leksah working though I have to admit I didn’t try very hard. Haskell FP Lab took under 5 minutes to get the hang of.
Haskell FP Lab is essentially a source code viewer right next to a REPL IDE. The IDE is for the REPL more than for the source code hence the comments about it lacking some standard IDE featues. Let me explain what I mean.
In Haskell FP lab there are 3 panes: source, input, output. The constant rerunning of the input and output is important in terms of GHCI ease and simplicity. Let’s say for example in normal GHCI I define A then B in terms of A then C in terms of B and then I switch the definiton of A. In GHCI this doesn’t auto update the definitions of A and B from the command line. GHCI uses a numbering scheme internally. Definitions do update when reloading the source file however (:l …) Which means my REPL environment can get out of step with my source environment and what worked in the REPL won’t work, or won’t work the same source.
The IDE interactive environment in Haskell FP Lab makes the GHCI REPL explicit and easy to see in terms of sequencng. You also get integrated type definitions with expression from your REPL which can help. The ease of integration between the REPL and the editor is what you are buying and it does save time and confusion.
In terms of source IDE I think the comments below are valid. Hopefully future versions at least steal the coloring from other other open soruce editors that’s an easy update. Obviously things like source completion and suggestion would be useful but may be too hard. Easier more inegrated view of source for libraries. An updated Zvon type reference. Etc… would all be a huge plus.
In short this is a good product. If you are getting started it will save you time. If you are comfortable with your editor plus GHCI it will still save you time. If you are the sort of person to be reading a review of a Mac Haskell IDE this is worth $20 to you: you’ll definitely use it $20 worth.