Live data from Hacker News

How we secretly introduced Haskell and got away with it

tech.channable.com

141–150 of 188 posts

Re: How we secretly introduced Haskell and got away with it

#142
post #18

Earlier quoted context omitted.

Cabal made me never use Haskell every again. I work in two different locations and at home. All three locations never worked the same and all had different issues with Cabal. After hours and hours of trying different things I walked away into the wonderland of Racket.

They're working really hard on improving it though . Cabal 2.0 will have a nix-style build system, in which multiple verions of the same dependency can be installed globally (so no separate sandbox per project). This will solve most problems of where cabal breaks down. This gives us almost the same usefulness as Stack. However, you will have to make sure that there is actually a feasible build plan, by setting up you…

Cool I'll give it another go once they release it.

Re: How we secretly introduced Haskell and got away with it

#144

> but if we could get it done, there would be no going back The naïveté in this simple statement is so cute. The list of concerns is also pretty naïve. The main problem you are going to encounter with this project is hiring. If you want to grow this project or if the main developers leave the company, I bet it will get rewritten in a different language in no time.

See https://news.ycombinator.com/item?id=13784085 for why hiring is unlikely to be a problem for them.

I also encourage you to find _any_ experience report that tells of difficulties finding the right candidates for a Haskell job.

Re: How we secretly introduced Haskell and got away with it

#145

Nice article. Out of curiosity, what does your write with? Vim/ghc-mod? Emacs/Intero? IntelliJ IDEA/plugins? Atom/VSCode etc.?

I tried spacemacs once but I found it too magic. I decided I should learn proper emacs instead of running a random playbox of plugins ontop of plugin. But haven't had the time to properly learn emacs yet. I have tried various haskell plugins for vim in the past, but they always tended to break so I gave up fixing my config and threw them all away. Now it's just plain vim (with some non-haskell related plugins) Next t…

Have you tried ghcid? In my experience it was a bit quicker than `stack --file-watch`

Re: How we secretly introduced Haskell and got away with it

#147

It looks like jobmachine is a private repo, maybe don't include the url in your blog post :)

If the URL to a private repo is not secure, then a whole bunch of people (including GitHub) have a big problem, and exposing jobmachine is the least of their worries ;-)

It's not a security problem, or else my comment would have been much more adamant about removing the link. It's mostly just reader confusion. Seeing the git clone url led me to believe the project was open sourced and was disappointed to find that not to be the case.

Re: How we secretly introduced Haskell and got away with it

#148
post #38

I'm just starting with Haskell and PureScript. So far I'm liking the latter better. It solves a few of their gripes with respect to strings, laziness and records, plus has a more granular/extendable effects system and cleans up the standard typeclass hierarchy. Also `head []` doesn't crash. Of course Haskell is more mature, has support for multithreading and STM, compiles to native, so it's more performant. But PureS…

I can't imagine using a haskell-like language without laziness. It's what makes it possible to actually write small reusable functions. Tell me, have you ever used foldr in Purescript? It just doesn't lead to reusable logic there, so I have no idea why you would. But in Haskell, foldr is used everywhere. Laziness means that logic built with it is actually reusable.

I don't really use foldr even in Haskell. It's almost always a performance problem.

Re: How we secretly introduced Haskell and got away with it

#149
post #60
post #6

In the 1990s I did research on the efficacy claims of object oriented programming versus procedural programming. This article bares a striking resemblance in the claims. Case study after case study showed that object oriented code had less bugs due to compilers catching bugs, etc. However, almost every study was similar to this report: it was a re-write from procedural to object-oriented. There exists strong evidence…

I remember just three things about the book "Show Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft" (1994): the death march, that they tested the OS by writing a file over and over (!) and that they thought the graphic part written in the new object-oriented C++ would save them a lot of time (it didn't)

Yeah, fascinating book; weren't the graphics issues due in part to the lack of maturity of C++ tools at the time though? (I don't remember exactly because it has been a while since I read it)

Re: How we secretly introduced Haskell and got away with it

#150

Earlier quoted context omitted.

That's all well and good except for the fact that your standards are impossible to reach. Even if I do write the exact same project with two different languages, there will always be differences in either the skill of the teams or, if the teams are the same, the amount of experience the team has when they tackle the project. What we can do is compare similar types of projects in different languages. And the things we…

> That's all well and good except for the fact that your standards are impossible to reach. Right, yes. Perhaps this entire exercise is a complete waste of time. Perhaps we should be investing in skilled people who understand their problem domain and then just trust them to do the best they can, rather than trying to find silver bullets inside programming languages.

How about let's do both. Both are valid, especially when there are silver bullets like type safety available. Hire the best domain experts and teach them best tools.
Post reply on HN