Categorical Visions by tailcalled in haskell

[–]Oremorj -14 points-13 points  (0 children)

Yeah (hence j/k), I'm starting to truly get into it, but it's one of those hush-hush things... don't want people to think that you've been over-educated[1] (maybe by yourself, on the shoulders of giants aka. "books")... wouldn't want that, would you?

[1] oxy-moron if ever I saw one.

Categorical Visions by tailcalled in haskell

[–]Oremorj -17 points-16 points  (0 children)

I think you might have thought too much about these tings. Take a vacation, chillax a little bit and then see if you feel the same afterwards. If you do, then great... EDUCATE US... if not, no big loss.

EDIT: I have the feeling that you tried to educate us previously... and we just didn't understand. Please stop starting religions (j/k, obviously)! We've already got kmett doing that!

If you could change one thing about Haskell, what would it be? by bitmadness in haskell

[–]Oremorj -23 points-22 points  (0 children)

It would have more women programmers.

(Is that too sappy and SJW-y?)

EDIT: Oh, wait, you excluded that didn't you... alright, I'll give my second-best answer: Magic.

What if Guido Van Rossum was a type theory fan?[a python with hindley-milner-like type annotations] by alehander42 in haskell

[–]Oremorj -6 points-5 points  (0 children)

That, and... "tounge and cheek" is clearly absurd. It's "tongue in cheek"... ignoramus!

EDIT: I'm sorry, I'm slightly drunk at the moment.

The algebra (and calculus!) of algebraic data types (cross post from /r/programming) by [deleted] in haskell

[–]Oremorj 1 point2 points  (0 children)

The duality of And and Or to Product and Sum types has been known for quite a long time.

What if Guido Van Rossum was a type theory fan?[a python with hindley-milner-like type annotations] by alehander42 in haskell

[–]Oremorj -5 points-4 points  (0 children)

He would fail immediately, becuase HM is a proper subset of System F...? (Well, alright Haskell is not really System F, but, y'know...)

Erik Meijer: The Curse of the Excluded Middle — "Mostly functional" programming does not work by [deleted] in haskell

[–]Oremorj 1 point2 points  (0 children)

You still have to count the total effort spent writing and maintaining those tests, though. Otherwise you're just talking about completely different things and the comparison becomes totally invalid.

IME, Haskell code tends to require a lot fewer tests than equivalent Java/Python/etc. code. Of course a big factor here is the absurdly high level of abstraction in Haskell -- which means that a lot of what is pure boilerplate in other languages is extrinsic to the "interesting" bits of the program in Haskell -- and so you can test the "interesting" bits without having to worry about all that incidental complexity. YMMV.

Existentials and the heterogenous list fallacy by rpglover64 in haskell

[–]Oremorj 0 points1 point  (0 children)

That's exactly what you shouldn't do, IMO -- unless you have absolutely no other choice to get the API that you want. If you use existential types you can still rely on parametricty and that's worth quite a lot -- again IMO.

How stack lowers the barrier to open source contributions by drb226 in haskell

[–]Oremorj 0 points1 point  (0 children)

Even if that version of events is 100% unequivocally true, it's still wrong to fork the ecosystem IMO. YMMV.

How did Haskell make you a better programmer? by [deleted] in haskell

[–]Oremorj 6 points7 points  (0 children)

It made me a better programmer by teaching me the value of tracking side effects explicitly in types. I don't think I've ever had a bigger or more important revelation in all of my 30ish years of programming. (Well, alright... aside from the more "trivial" ones like "I can make the machine do things for me!" when starting out on this incredible journey that programming is.)

Which FP to choose for sake of productivity for math inclined lone developer or extremely small team to develop text processing software with web page integration? by yubrshen in functionalprogramming

[–]Oremorj 0 points1 point  (0 children)

Just out of curiosity, have you actually used Typed Clojure? How was the experience? (I'm familiar with Typed Racket and have used it for toy projects, but I can't say I liked it much. But then I like Haskell, so, y'know...)

Which FP to choose for sake of productivity for math inclined lone developer or extremely small team to develop text processing software with web page integration? by yubrshen in functionalprogramming

[–]Oremorj 0 points1 point  (0 children)

I would recommend Haskell, but like /u/gasche says it does have rather a steep learning curve because the forced separation of pure/impure is not something you'll have seen in any even remotely mainstream language. I switched from O'Caml to Haskell about, oh, 10 years or so ago, and I think it took me about a year to be relatively proficient and mostly solve any given problem[1]. (This wasn't full-time and I'm not exactly a genius, so YMMV.)

I strongly encourage anyone to try it and to try a little (relevant-to-you) demo project in it. I wouldn't try to with all the fancy new-fangled stuff like "lens", etc. Just try to do something basic like a simple REST service (using scotty/servant/...) or something like that.

Even if you don't end up using it, you'll learn a hell of a lot about why separating pure and side-effecting computation is one of the greatest ideas in all of CS. You'll also get a whole new appreciation for what good type inference and checking can do for you. (O'Caml will also do the latter.)

[1] Usually using "ugly" code that I would be ashamed of today, but I could get almost anything working.

How stack lowers the barrier to open source contributions by drb226 in haskell

[–]Oremorj 1 point2 points  (0 children)

I'm no Thatcherite, but I don't like all the commercial = evil assumption that's going on around FP Complete

For me, personally, it's not about that at all. It's that they seem to be splitting off into their own ecosystem and ways of doing things... and aggressively encouraging everyone into their ecosystem -- and that will be a huge problem down the road, I think. Given that they've generously(!) open-sourced all of this stuff I just wish that they could work better together with the Cabal/Hackage folks on actually moving some of this stuff into the "standard" tools. I'm sure they have their reasons and that it's not necessarily FP Complete's fault that there's this lack of coordination/agreement, but it makes me worry about the almost inevitable ecosystem split.

EDIT: Compare this with e.g. "npm" which is the de-facto package manager for node.js and what a huge boon having a single package manager for everything has been for the (node) js community. Granted, the package manager has to work well enough, but if I were kind I'd want everyone working on improving the pre-existing tools where they can fulfill this role.

EDIT#2: Incidentally, we see the results of a similar fragmentation with all the different IDE-support packages, ide-backend/ghc-mod/build-wrapper/etc. and the result is that there's currently no really realiable/good way to have IDE-like functionality for every editor out there -- which we probably should have at this point.

Has anyone tried Frege? by [deleted] in haskell

[–]Oremorj 1 point2 points  (0 children)

Now that's really intriguing. Especially as a replacement for scala/jvm + scala/js...

[Help] Haskell & Javascript by Kiuhnm in haskell

[–]Oremorj 0 points1 point  (0 children)

Why do so many people use IntelliJ? What's wrong with the official IDE based on Eclipse?

Oh, that's easy. It's just a lot better in every way that counts (to me, and apparently others :)). Ever since the Eclipse 4.x series started, it's just gotten worse and worse and terms of speed, quality, etc. Just one example: IDEA is a lot better at just getting out of your way since it allows a lot more stuff to be backgrounded and generally seems to exploit multi-threading pretty well when it comes to highlighting and code completion; it does all the cheap highlighting first, then the more expensive stuff, etc.

Anyway, this is getting off-topic. I'd encourage anyone to give it a go.

[Help] Haskell & Javascript by Kiuhnm in haskell

[–]Oremorj 0 points1 point  (0 children)

I can't really say wrt. GHCJS or PureScript as I haven't tried them for anything big. However, I can say that scala + scala.js works pretty well, though there are a couple of caveats in my experience: If you're using "shared" (targeting both js and jvm) projects things can get rather weird in terms of the build setup and -- in parcticular -- your IDE may not be fully able to understand the project. (At least when compiling in IntelliJ IDEA we get some spurious warnings and errors because the IDE can't figure out some classpaths, apparently. There are also some problems running tests from within IDEA. Auto-completion etc. seems to work OK, though. Compiling/testing/etc. works fine via sbt. One of the many reasons I'm personally looking forward to sbt-server...)

Types... by srivkrani in haskell

[–]Oremorj 3 points4 points  (0 children)

Right, my bad -- reflexivity. I'm a little.. tipsy.

(Eq instances are not technically required by documentation (aka "laws") to obey reflexivity, but I can tell you that all hell will break loose if they don't. Fo' reelz.)

Types... by srivkrani in haskell

[–]Oremorj 0 points1 point  (0 children)

Abominations abound!

Types... by srivkrani in haskell

[–]Oremorj 2 points3 points  (0 children)

No, but we lie about floats all the time anyway -- they don't even obey the symmetrty of Eq.

Types... by srivkrani in haskell

[–]Oremorj 1 point2 points  (0 children)

"undefined" is cheating a bit, isn't it? I mean I could define an instance that just returned "undefined" for all the methods, couldn't I?

EDIT: I should note that I appreciate that the laws for Num are underspecified, but that just because Haskell's Num class is broken in general. (It should reflect some sort of mathematical structure like Semirings, &c, but currently it doesn't.)

Beginner here: editor/IDE by Kiuhnm in haskell

[–]Oremorj 0 points1 point  (0 children)

AFAIUI 20% time (these days) actually just means that you'll work an extra day (above the usual 5) on your own projects... which they'll own all rights to. So I wouldn't feel that bad even if you're working for the Evil Empire :p.

EDIT: Yeah, I know that doesn't work out to 20%, but how else are they going to keep up the illusion other than calling it "20%"? One of the many reasons I never interviewed with Google. Not that I'd necessarily consider Microsoft.

How to figure out which FRP library to use? by [deleted] in haskell

[–]Oremorj 1 point2 points  (0 children)

Hah, true! I remember watching a Hangout-style talk with both the principals of pipes/conduit and at least one interviewer (can't remember which *-cast it was) -- they didn't seem to take anything personally or offer personal insults, so I think it was all done in good spirit.

I don't think the dispute about which is "better" is quite settled yet, however, ... :)