
Haskell for Mac - grayprog
http://haskellformac.com
======
carterschonwald
This looks like it's by Manuel Chakravarty. He's a long time Haskell
contributor / researcher. His research lab is responsible for a huge chunk of
array fusion related research that's happened using Haskell over the years.

Given the baked in support for sprite kit, I presume that this is an evolution
of the tools he used to teach his young ones how to write games.

~~~
JadeNB
I really enjoyed reading about that learning / teaching process as it
unfolded. I think the discussion is at the GitHub repository
[https://github.com/mchakravarty/lets-
program](https://github.com/mchakravarty/lets-program) , though a glance
doesn't reveal how up-to-date it is (it refers to 3 coding sessions, then
numbers them 1 through 7).

------
gamache
_As required by the Mac App Store, Haskell for Mac is sandboxed. Consequently,
Haskell code executed in a Haskell for Mac playground cannot access any data
except for Haskell for Mac documents, the app container, and those system
files white-listed by the operating system. Any attempt to access other files
or to initiate a network connection will be rejected by the operating system._

This seems unnecessarily crippling. Is this really required of desktop App
Store apps?

~~~
tempodox
Exhibit A for how questionable this Sandboxing is when it comes to things like
programming languages. And exhibit A for how Mac is becoming a household
appliance instead of a general-purpose computer that YOU own and do with what
YOU want. If you want to own your Mac you need to stay away from the AppStore
at the very least, and ideally build all your shit yourself.

~~~
webXL
I'd bet that fewer than 5% of Apple customers want a general-purpose computer,
and it hasn't deviated much from that over time. Apple has always locked down
their hardware and software relative to their competitors. The "it just works"
philosophy isn't free, and if it seems like it's getting more locked down, it
might have something to do with Apple trying to maintain its profits in the
face of increasing competition.

The "household-appliance" moniker is a red herring though. Just because they
supply an App Store doesn't mean you have to use it, and it doesn't mean you
can't do amazing things with it. Are we really comparing something that can
help educate, research, run a business, entertain, etc. with a dishwasher or
TV?

~~~
nobleach
As I sit here in my building with 400 others sitting around me writing code on
Macbook Pros. Knowing that in this industrial park alone there are other
startups with hundreds of employees doing the same thing. (And this is in Utah
- not San Francisco) I'd venture to say that 5% may be extremely off base. I'd
say, you take every coffee-shop college student and match them against
thousands who are writing code as we speak.

~~~
webXL
So "people writing code" == "people who want a general purpose Mac"? And I
didn't say Apple customers who buy/own Macs. Keep in mind that a lot of people
get an iPhone or iPad first, then want to be more productive with a keyboard
and larger screen, or just want to keep buying App Store-enabled Apple devices
in general. These are not professional coders and are the overwhelming
demographic that Apple is selling to.

Do you think they don't know who their customers are?

~~~
nobleach
As opposed to a sandboxed device? Yes. Someone who wants the freedom to write
code, install VMs, test browsers, compile C, you name it, no, they do _not_
want a little sandboxed device. The college student at Starbucks typing a term
paper? sure.

~~~
noelsusman
You can do all of those things with OSX. This whole discussion doesn't make
sense because you can do pretty much whatever you want outside of the app
store ecosystem.

------
erpellan
I bought it. If someone (cough)Jetbrains were to offer a full blown IDE with
code-navigation, refactoring tools, smart autocomplete etc etc. I would pay
them 10 times as much.

~~~
theCodeStig
Is a full blown IDE (ala IntelliJ) really necessary for Haskell?

~~~
seanmcdirmid
All that static typing shoud lead to an awesome IDE experience. Given that
this hasn't happened, I wonder if there isn't something wrong with Haskell's
design that works against it?

~~~
59nadir
This sort of assumes that the objective of a language should be to create "an
awesome IDE experience", while there's a good chunk of people who think having
to have an IDE is simply a flaw in a language.

~~~
cuddlybacon
Coming from the other side, it seems like "because you should be able to do it
manually" seems like a poor reason to not provide the option to have things
automated.

The computer is more accurate and faster at determining the type of an
expression than humans are. That seems like a big part of the value
proposition of static languages. So why not let it tell you the type in the
editor instead of having to stop what you are doing to compile it (which may
require fiddling with the code to get a meaningful type error)?

------
eridius
Reading this page, it sounds very cool. It also sounds like it's heavily
inspired by Swift Playgrounds, including using SpriteKit as an example.

I am a bit baffled as to why it says the Haskell code can't initiate network
connections. Yeah the app is sandboxed, but sandboxed apps can easily request
network access. And it seems like that's a common-enough thing to want that it
should support it.

~~~
Tehnix
Yeah, that one stuck to me as well. I don't know if they mean anything
specific with "network connections" here, cause I see a lot of apps that talk
to the outside world on the MAS.

~~~
eridius
I think it just means the app didn't request the ability to make network
requests. I just don't understand why not.

~~~
QuantumRoar
Here's a cynical comment:

Long term monetization will only work if he can ship version 2 at some point
to pull in some more money from the same people who bought version 1 (and the
same thing with version 3). The choice of not shipping obvious features of an
IDE is in order to have better differentiation between versions.

Though, maybe there is really a good reason for that involving some of Apple's
policies. I heard they teach the developers all kinds of lessons when it comes
to how a program should be made... who knows...

------
trymas
I would like to see some demo version, as 20€ is a bit too much to drop.

Looks cool, lots of inspiration from swift playgrounds. Though, aren't there
any open source alternatives (I have never tried haskell), probably similar to
ipython (jupyter) stack?

~~~
cwyers
I know this is a statement of where the market is going, but boy is it
depressing to see people saying that 20 Euros is too much to drop on a piece
of software.

~~~
trymas
<rant> Sorry, but we are not living in US or well developed European country
(Austria, Switzerland, Norway..). In one workday I make ~40€ after taxes and
it's almost twice the average and almost thrice the minimum salary were I
live. I would've not said a word if I would've been making >50,000 € a year,
like in mentioned countries.

Dropping half of my days work on a software, which has limited capabilities,
unknown reviews, is closed source (even though is basically bundled open
source tools in, I suppose, comfortable package), and can cause some extra
bugs from it self. Give me ol' good 14 day trial, or I will not pay blindly.
</rant>

------
JadeNB
I imagine that this is a naïve question, but it's sincere: what does this app
offer for its $20 cost that the Haskell platform doesn't? Of their five big
selling points, three don't seem really convincing: it mentions that it
includes 200 libraries—more than HP, but not the sort of thing one needs to
pay for; there is SpriteKit support, of which they say:

> We will release the SpriteKit binding under a permissive open source license
> for general use as soon as possible.

; and "Let the type system help you", which, of course, is just a feature of
Haskell, not of this environment.

A drag'n'drop project manager is nice, but doesn't seem like _that_ big a
deal; so I guess that the real selling point is the "Immediate feedback".
Indeed, that seems to be a _huge_ selling point, and it's something for which
I've often wished while coding Haskell. However, their blurb on it is very
brief:

> Haskell playgrounds provide instant feedback, displaying types and results
> of computations, both textual and graphical.

Is there any way to read more about this, and, in particular, to evaluate how
much value it adds before buying?

~~~
ics
Quoting /u/kamatsu (from reddit): "Some context. This is a very early version
released by /u/chak in time for ICFP. There are lots more features planned, so
don't view this as the final product."

Comparing it to HP doesn't really make sense; it's a very early stage IDE with
some yet-unreleased libraries and Xcode-like features/interaction (see
Playgrounds) by a known GHC/Haskell developer.

~~~
JadeNB
> Comparing it to HP doesn't really make sense

Indeed, I should have made it clear that I was _looking_ for an appropriate
comparison, not meaning to suggest that HP (which was just the first thing
that came to mind) _was_ an appropriate comparison. Thanks for the insight!

------
mseri
When I've read the title I thought it was about leksah [1]. I've not used it
since some time but according to recent reviews is getting quite good.

[1]: [http://leksah.org](http://leksah.org)

------
szastupov
Looks amazing, I really want to try it. Maybe a trial version? Because with
current exchange rates in Russia, $24.99 is a shitload of rubles :)

~~~
grayprog
From what I see, it's actually selling for USD$19.99. The $24.99 is in
Australian Dollars.

------
jd3
I'm just glad there's a nice binary of GHC available to download from
somewhere. I'm running 10.11, and I had to compile GHC from source (homebrew)
on my MacBook air in order to install youtube-dl with rtmpdump support. It
took literally all night to compile. Hours and hours and hours.

~~~
embwbam
Another way to get binaries is to install with stack. See here:
[http://seanhess.github.io/2015/08/04/practical-haskell-
getti...](http://seanhess.github.io/2015/08/04/practical-haskell-getting-
started.html). At our first Utah Haskell meetup we had around 30 people manage
to get GHC and some libraries installed, then complete a tutorial in less than
a couple hours.

------
song
I would buy it if it were not sold through the Mac App Store and not
sandboxed... There are applications that make sense to sell in the Mac App
Store, a programing environment isn't one of them.

------
shocks
Any plans for Linux support?

~~~
QuantumRoar
Somehow I seriously doubt it. But I keep hoping such things as well :)

~~~
shocks
I feel the same. I guess I'm mostly just asking so it is known that there is
at least some demand for such a product. :)

------
wyager
For something similar that is free (as in beer, but also just a wrapper around
free-as-in-speech software), see
[http://www.kronosnotebook.com/haskell](http://www.kronosnotebook.com/haskell)

------
vitd
This looks really cool! I tried learning Haskell on the Mac a year or two ago.
It was painful having to use command-line tools and text editors. I eventually
hacked Xcode to do the syntax highlighting and to run the build commands for
Haskell. But that breaks every time Xcode updates, etc. This looks like it
solves that problem! Can't wait to try it out.

One thing I'd like to see is how well it works for calling into the OS, or at
least calling into or being called from C/C++/Objective-C (and eventually
Swift).

------
spike021
Was a bit disappointed when I found out they don't have any education/academic
discount beyond education bulk purchasing.

Looks pretty cool though.

~~~
grayprog
It's sold through the Mac App Store only right now, so it's limited to what
the Mac App Store allows, unfortunately.

Maybe in the future, if it goes well, the developer might consider selling
outside the Mac App Store, and this have more flexibility. I have no knowledge
of his plans on that matte,r though.

~~~
spike021
Been a while since I looked at App Store policies, but couldn't they charge a
discounted price outside the store and then give a promo code to the app?

~~~
grayprog
I believe that it's not intended to be used like that (promo codes are also
limited to 100 per application version now).

Also, this would require the developer to find a way to charge people outside
of the store. In that case, it's almost half way to setting up a full direct
store with a direct version.

There is benefit to having a direct version (all our applications do) but many
developers today don't want to set this all up. It's quite a lot of work and
perhaps the developer is not interesting in spending time on that. Moreover,
he might not even be sure if the app is successful enough to invest time into
this work.

~~~
spike021
True, that makes plenty of sense. There would definitely wind up being more
overhead in that case.

Regardless, I hope things go well for the developers.

------
zer00eyz
Can someone who knows more about Haskell explain to me what the hell I'm
getting for 25 bucks here? Cant I replicate all of the features it has with
off the shelf tools/editors that are free? Wouldn't that path be less limited
than this "sandboxed" app with "access other files or to initiate a network
connection will be rejected by the operating system" restrictions?

~~~
coldtea
> _Cant I replicate all of the features it has with off the shelf tools
> /editors that are free?_

You obviously get the convenience of NOT having to replicate all these, and
the guaranteed experience of those parts working together as soon as you
install it, and with a nice GUI at that.

~~~
tonylxc
Sounds good but still not convincing. For example, R can do the same thing,
too, or even better. And it can be integrated with other programming
languages. I would never buy it either until somebody really shows it's worth
the money.

~~~
interpol_p
It's only $25.

I've been interested in playing with Haskell for a while but I've been put off
by the need to setup existing tools. Having an all-in-one package with neat
presentation, packaged libraries, and immediate feedback sounds like a great
deal for $25.

~~~
jane_is_here
The problem is having to use a Mac. I guess that I could spin up my Yosemite
virtual machine...

~~~
interpol_p
I think having to run a VM you don't often use is kind of defeating the
purpose of the app.

If you're willing to run a VM for a single app you are probably the type of
person who is willing to spend the time to set up a Haskell tool chain and
libraries for free.

Although I am most definitely not that type of person, all I care about is
playing with the language. Anything detrimental to that is just noise and not
worth the time. So I consider the $25 quite a cheap price to not have to think
about the extraneous actions required to get a Haskell environment up and
running.

~~~
jane_is_here
I already have the Haskell toolchain and libraries. It merely required the
command "apt-get install haskell-platform". However, the Haskell Playgrounds
feature that Chakravarty offers sounds interesting enough to spin up a Mac VM.

------
xbshift1
I will buy this as soon as it can initiate network connections.

~~~
mchakravarty
That feature will come.

------
evandrix
Paid App to do Haskell? pfft.

------
tempodox
A programming language implementation that is subject to sandboxing? Mac has
become the parody of a computer.

~~~
keithy
It's a restriction of the Mac App Store, not the actual Mac computer itself.
Mac is just Unix with a pretty UI and lots of features.

~~~
tempodox
Technically, that's true of course. I myself use the “computer” part only and
shun the “AppStore” part as much as at all possible, but Apple is renowned for
the deep integration of all kinds of components and there comes a point where
you just don't have a choice any more. I seem to see the area of free choice
getting smaller with every OS release.

------
amelius
Why do we still have platform-specific applications in 2015? Any good software
engineering environment should set an example and show that we do not need to
live by such artificial restrictions.

~~~
zoul
Because there’s no environment that would give you native-like experience on
multiple platforms without extra work. And developers have limited resources,
even in 2015.

~~~
marcosscriven
Although it is possible to write everything, right up to the view model (but
not the view) in something cross platform and performant, keeping the GUI/view
using only those languages/frameworks which result in native feel (both in
terms of look and performance).

Sure, writing the GUI properly for each platform still requires more work, but
far far less if all but the front end is cross platform.

However, it very rarely seems to be done, even with modern additions and
improvements in C++.

~~~
zoul
I like that approach, but there’s no abundance of such cross-platform stacks
either. And then you have to convert parts of the model to fit the views, and
sometimes you want to use non-view technologies only available on a certain
platform (Keychain, …). While it makes sense and the results are very good,
it’s still a very non-trivial work, especially compared to a simple native
app.

