Earlier quoted context omitted.
> That depends on . I can't answer that question unless you tell me what is. Isn't that kind of the problem? I have no idea why it's a good abstraction for anything or what sorts of things it's a good abstraction for. Is it a good abstraction for adding numbers together? God knows, nobody can explain it. > Why would a special-purpose abstraction be easier to use? Because it says what it does on the tin, rather than b…
>Isn't that kind of the problem? Maybe. Leaving things in the abstract can certainly be confusing sometimes. >I have no idea why it's a good abstraction for anything or what sorts of things it's a good abstraction for. I think once you understand Monads for what they are (i.e. accept that it's just something with bind and return), you start seeing where it makes sense to use Monads. Until then, you can just use whate…
Learn You a Haskell for Great Good (2008)
111–120 of 123 posts
Re: Learn You a Haskell for Great Good (2008)
#112Earlier quoted context omitted.
>but the above assertion is not a particularly helpful description of List and Maybe Good. If my description of a Monad was a good description of List or Maybe, then I described Monads wrong. Your complaint is like saying "Your description of a shape was not a helpful description of a dodecahedron." Indeed, a dodecahedron is a very specific instance of a shape.
Exactly. However, note I wasn't disagreeing with you; I was disagreeing with user thedufer that "the point" was that "the original description leaves out the easiest monads, which makes learning about them a lot more difficult. See: List, Maybe, etc." (That's why I replied to him and not to you) List and Maybe are indeed the easiest monads, but thinking about them in terms of (>>=) and return doesn't give a good intu…
Re: Learn You a Haskell for Great Good (2008)
#113Earlier quoted context omitted.
>Isn't that kind of the problem? Maybe. Leaving things in the abstract can certainly be confusing sometimes. >I have no idea why it's a good abstraction for anything or what sorts of things it's a good abstraction for. I think once you understand Monads for what they are (i.e. accept that it's just something with bind and return), you start seeing where it makes sense to use Monads. Until then, you can just use whate…
ZipList isn't a monad, is it?
Re: Learn You a Haskell for Great Good (2008)
#114Earlier quoted context omitted.
I'm not sure if that link is NSFW or not :)
Certainly doesn't help with the perception of the tech industry as a boys club. I mean I know it may have been written in jest but I was personally cringing while reading it and figured it'd be at the very least a little alienating (at worst outright offensive) for any women who'd happen to read it. Maybe I'm being oversensitive, I just know I wouldn't write anything like that.
Re: Learn You a Haskell for Great Good (2008)
#115Earlier quoted context omitted.
I enjoyed working through this book. Actually it helped me learn enough Haskell to realize that I wasn't that interested in it. I found that it wasn't as safe as it claimed to be and that the tooling was not very good. There are some refreshing and interesting ideas, but overall I'm not sure it was worth my time.
> I found that it wasn't as safe as it claimed to be and that the tooling was not very good. How was Haskell not "as safe as it claimed to be"? What tooling was not very good? What tooling was missing for you?
* Cabal Hell: https://news.ycombinator.com/item?id=8011267
* Installing libraries is slow
* The Haskell platform is not batteries included
* JSON parsing seem to be more complicated than it needs to be
* Also got confused by keywords naming: https://news.ycombinator.com/item?id=5689951
* I found Yesod API to be inelegant. I found it odd that it needs so many non-standard compiler extensions, which might be a sign that the language is not expressive enough.
* One-letter variables seem to be idiomatic. This is unappealing to me because I try to make my code readable.
* For the same reason, frequent use of special characters in operators (, >, ///, etc.) in the standard library and in third-party libraries was not appealing.
I was disappointed because I was attracted by referential integrity, strong compiler checks, pattern matching and function composition but overall I was left with the impression that the Haskell environment was not very well polished from a software engineering point of view.
Re: Learn You a Haskell for Great Good (2008)
#116Earlier quoted context omitted.
Certainly doesn't help with the perception of the tech industry as a boys club. I mean I know it may have been written in jest but I was personally cringing while reading it and figured it'd be at the very least a little alienating (at worst outright offensive) for any women who'd happen to read it. Maybe I'm being oversensitive, I just know I wouldn't write anything like that.
Are you serious? From your description, I was expecting some kind of gross pornography. I think that these 'rolling in the aisles' displays of public piety in the service of political correctness are getting a little out of hand these days.
However if you can't see why someone may feel a bit weird reading "You'd be there, banging away at your regular girl" then I'm not sure what I can say. It's not rolling-in-the-aisles piety, it's just that our community already has a bad image and stuff like this isn't helping.
Re: Learn You a Haskell for Great Good (2008)
#117Earlier quoted context omitted.
> I found that it wasn't as safe as it claimed to be and that the tooling was not very good. How was Haskell not "as safe as it claimed to be"? What tooling was not very good? What tooling was missing for you?
* Non-exhaustive patterns error was disappointing after being told that "if it compiles it will run". It seems to be the Haskell equivalent of NullPointerException (I'm told OCaml doesn't have this problem). * Cabal Hell: https://news.ycombinator.com/item?id=8011267 * Installing libraries is slow * The Haskell platform is not batteries included * JSON parsing seem to be more complicated than it needs to be * Also got…
Yes, it's somewhat strange this is only a compiler warning rather than a compiler error.
Re: Learn You a Haskell for Great Good (2008)
#118Earlier quoted context omitted.
It seems as though individuals who don't want to feel bad about their weight and gender might also feel that LYAH is not the place to look. I guess LYAH and I just aren't a good "culture fit." It's a real shame too -- without these completely unnecessary comments that add no value, this is an excellent way to learn Haskell! I've become comfortable with my whale-like properties and I'm male, so I had the lovely privil…
I feel like some time in the 90s, people got this idea in their head that their sensitivities should be everyone's problem. Since you exhibit this, can you explain why? I'm super curious.
So let me do my best to provide something of an explanation. It isn't really a problem that there's one tutorial or one website that pokes fun at weight issues or assumes it is serving a primarily male audience. The problem comes when those tropes become universal, or at least fairly wide-spread.
Sexual harassment might be a good place to look for examples. A single sexual comment or a single locker-room butt-tap, in most cases, is not that big a deal. But these small acts don't happen in isolation! They happen in a context that has structurally disadvantaged[1] entire classes of individuals (predominately women, in this case). And no, these acts are not the only thing that created such a structure, but they work to make individuals in those classes feel uncomfortable, threatened, and generally unsafe. That's why you'll often hear such acts called "micro-oppressions." And they don't just make their victims feel bad. They also teach the privileged class that the victims belong to a class that it is OK to denigrate. No, not on their own, not in isolation, but in combination and spread over enough time.
As an upper-middle class, cis white male who dates women, I didn't really buy this argument until I had a very particular experience. I was at my university's gym using a cardio machine, and some very muscular athletes were lifting weights behind me. I had forgotten my earbuds that day, so I could hear what they were saying. Mostly, they talked about women and parties. But eventually, they started talking about how all the "non-athletes" on campus really hurt the aesthetics of the place. "Especially those CS majors with their screen-tans," I recall one saying. This turned into a myriad of jokes that I felt were absolutely directed at me personally. They commented how "tech types" only show up to the gym to do cardio and always wear "ridiculous T-shirts with company logos on them," which, at the time, I was. I tried to ignore it, to just have "tough skin," but as they kept talking it slowly wore me down. I left, took a shower, and headed to the computer lab and had a great conversation about Golang.
Now imagine you didn't have a computer lab to go to. That no matter where you went, you had to hear those comments and those jokes. Every time you went to work, you'd hear it from your boss. Every time you turned on the TV, you'd see it in ads and in sitcoms. On billboards, on the street, in movies, and even in programming language tutorials.
Further, imagine that if you were to ever speak up and talked about what was making you uncomfortable, you'd be told to "grow tougher skin" or "just learn to take a joke". Personally, I can't even imagine what it must be like to live life as one of the classes that America structurally oppresses. But I feel like it must suck. A lot.
So what can we do? Well, we start shifting the culture. We start creating safe spaces. We hold people accountable for their comments and jokes while understanding that they didn't mean any harm. We educate and explain.
But most importantly, and I cannot stress this enough, we need to listen. We need to listen to people when they tell us that we are doing something that bothers them. We need to understand how our actions transform spaces that we love -- like functional programming -- into hostile areas for so many people. Because honestly, if we don't listen, we won't know. The author of LYAH isn't a bad person. Those athletes weren't bad people. No one does this sort of thing intentionally.
Yet we have to take responsibility. We have to learn, we have to get better. And the only way to start doing that is to make everyone's sensitivities our problem.
edit -- Perhaps I'm wrong. I'm open to that possibility. I'm the product of a very liberal gender studies education from a university in Arizona, where there were plenty of examples of undeniable xenophobia and homophobia. After all, if the sum of our experiences doesn't fully constitute us, it certainly plays a big role.
[1] It is very difficult to argue that this isn't the case, considering the wealth disparity amongst men and women, especially in the tech industry. If you've got yourself deeply rooted in some sort of MRA thing, then just think about race instead. Wealth disparity between white and black men is pretty wide.
Re: Learn You a Haskell for Great Good (2008)
#119Earlier quoted context omitted.
Certainly doesn't help with the perception of the tech industry as a boys club. I mean I know it may have been written in jest but I was personally cringing while reading it and figured it'd be at the very least a little alienating (at worst outright offensive) for any women who'd happen to read it. Maybe I'm being oversensitive, I just know I wouldn't write anything like that.
It certainly wasn't my intention to alienate or offend anyone by posting this link. I do not share his intimate feelings on programming languages but I found it amusing that someone would compare a programming language to an on/off-relationship.
Re: Learn You a Haskell for Great Good (2008)
#120Earlier quoted context omitted.
* Non-exhaustive patterns error was disappointing after being told that "if it compiles it will run". It seems to be the Haskell equivalent of NullPointerException (I'm told OCaml doesn't have this problem). * Cabal Hell: https://news.ycombinator.com/item?id=8011267 * Installing libraries is slow * The Haskell platform is not batteries included * JSON parsing seem to be more complicated than it needs to be * Also got…
> Non-exhaustive patterns error was disappointing after being told that "if it compiles it will run". Yes, it's somewhat strange this is only a compiler warning rather than a compiler error.