Hacker News new | ask | show | jobs
by frowaway001 4254 days ago
In Haskell, sandboxes usually force you to rebuild stuff which you have already built over and over.

Anyway, sandboxes are pointless hacks which wouldn't be necessary if things had been done properly from the beginning.

They are like Node.JS ... yes, it enables you to develop with JavaScript on the server, but how the hell did you end up with using JavaScript in the first place?!

1 comments

Sandboxes aren't pointless hacks which shouldn't be necessary. It's a lot more difficult for static languages to get right, and solutions like Maven have had tons of work put into them.

You say "if things had been done properly from the beginning" implying you know some mistakes that were made. What mistakes were made in the beginning?

Do you have any ideas how the problems cabal has could have been avoided? There are very intelligent people working on this problem and it is well known that dependency resolution isn't an easy problem.

> solutions like Maven have had tons of work put into them

Maven required tons of work because it's written in Java, not because the ideas behind it are advanced in any sense.

It's sounds absurd because it's so simple, but the issue is that Cabal/GHC doesn't deal with versioning. Different versions of the same library are not properly treated as different artifacts. That's why everything breaks if you install it into a global namespace.

"Great, let's just multiply our namespaces!" is the obvious knee-jerk reaction, but not a great solution.

> There are very intelligent people working on this problem

That sounds great! Because until now I have mostly seen "very intelligent people" who have been busily in denial that a problem even exists.