4 ms·
There's also Magic Haskeller [0], which generates potential Haskell functions from predicates. It's surprisingly good. [0]: http://nautilus.cs.miyazaki-u.ac.jp
by neilparikh 10y ago
There's also Magic Haskeller [0], which generates potential Haskell functions from predicates. It's surprisingly good.
[0]: http://nautilus.cs.miyazaki-u.ac.jp/~skata/MagicHaskeller.html http://nautilus.cs.miyazaki-u.ac.jp/~skata/MagicHaskeller.ht...
- catnaroek 10y agoThe difference in sophistication between supplying individual individual examples and supplying predicates is like that between unit testing and property-based testing. One method is brutish, being invented by and for the abstraction-challenged; the other at least tries to investigate general properties of the desired solution.
- eru 10y agoI do agree with you, though I'd suggest being nicer about it if not in general then at least outside of preaching to the choir.
- vertex-four 10y agoThis is, overall, a huge issue with much of the Haskell and pure functional programming community that puts people off - there's a minority of people who view what the vast, vast majority of the world's programmers do as beneath them, and the programmers in question as stupid. The community doesn't appear to do enough to weed these people out.
- catnaroek 10y ago(0) I don't even like Haskell that much: https://news.ycombinator.com/item?id=12177685 https://news.ycombinator.com/item?id=12177685 (1) My original post is just a statement of fact about how abstraction skills shape one's testing strategies. Suggesting that this has anything to do with functional programming is a total non-sequitur.
- vertex-four 10y agoIt was in response to a link to a Haskell library, so I assumed that you had some experience with said library. In any case, the issue is less with pure functional languages themselves, and much more with some of the people who use some of the more popular ones. You don't usually find people who enjoy programming primarily in Rust or C++ or even F# looking down on others and telling people who might potentially be interested in learning more about some feature or other that they'd be too stupid to understand, at least not to the same degree. When people try to explain Rust's lifetime system, they don't start off by telling people that garbage collectors are for people too stupid to define data structures which manage memory properly. When they talk about static typing, they don't tell people that they're idiots if they enjoy Python's duck typing. Instead, they lay out problems that their solutions solve. Simple as that. It's not terribly difficult to talk about ideas in a positive manner without tearing apart people who hold other ideas, either through ignorance or simply different experiences, most of the time.
- catnaroek 10y ago> It was in response to a link to a Haskell library, so I assumed that you had some experience with said library. Nope, I don't. I don't even use or like Haskell, though I happen to know it relatively well. > In any case, the issue is less with pure functional languages themselves, and much more with some of the people who use some of the more popular ones. I'd have no idea, since I evaluate technologies solely on the basis of their technical merits. In any case, in response to your earlier “weeding out” comment, I'm not really a member of any particular community to begin with, so it would be difficult (“only somewhat impossible”) to “weed me out” of anywhere. > Instead, they lay out problems that their solutions solve. Simple as that. The problem (yes, singular) solved by Rust's lifetime system admits a clear, concise, one-sentence even, description, which, as a matter of fact, is about half as long as this sentence. The benefits are immediately clear to anyone who has had to program defensively to mitigate that very same problem. > It's not terribly difficult to talk about ideas in a positive manner without tearing apart people who hold other ideas, Yes, but I deliberately chose not to. I'm expressing frustration because on a daily basis I have to fix code written by people who don't have the analytical skills necessary to determine what their code does in the general case. I see example-oriented programming as a very dangerous paradigm to adopt, since it would exacerbate the problems I already face.
- mbrock 10y agoI think there's a mistake in imagining that there is a Haskell community or a pure functional programming community and that people you come across represent these communities. Like, I'm a fan of the language, I do stuff with it, I worked with in professionally, I chose my school specifically to pursue it in 2005... sometimes I discuss topics related to it on the internet... but I don't really see myself as a "community member," I don't represent a community when I discuss, and the comments you're reacting to have nothing to do with me or my values. So if stuff I say is taken as representing some "community", that's ascribing a false belonging and imagining a society where there's mostly just a loose association of different individual nerds who sometimes collaborate in different constellations. Unless there's something systemically and blatantly wrong with some actual existing community project, I think it makes more sense to criticize individuals. There's no way to "weed out" people from the internet just because their tone is annoying.
- vertex-four 10y agoThe thing is, people gravitate to languages where they can learn about the language and its ecosystem from people they can get along with. Many people avoid confrontation - especially when they're trying to learn about something. If you don't get along with dudebros, you're going to avoid languages where the IRC channels and forums and random online discussion about the language is populated by dudebros - if you don't get along with people who speak aggressively, you're going to avoid languages which you see people speaking aggressively in support of - if you're really not a fan of active community management a la codes of conduct, you're going to avoid languages where their users speak in favour of such things. Rinse and repeat a bunch of cycles, and whether there's a formal community or not, there's a type of person who permeates discussion of the language and its ecosystem, and is generally accepted by users of the language. Attempting to avoid them is difficult, because the existing language users see no problem, so you're stuck with a very limited number of places to learn, interact, and ask questions without coming across them. I don't think the people in question represent the community as a whole, but they do represent what I'm signing up for when I need to communicate about the language with others - in Haskell's case, there's a higher chance than with most languages that I'm going to come across people who will proclaim I'm stupid if I don't immediately and from birth know why XYZ abstraction is amazing and universally good. And god forbid I disagree.
- tome 10y agoI know your name from many constructive and enlightening comments you've posted on HN. Clearly you're frustrated by something at the moment but please don't let it seep into the public sphere and diminish the high quality of your comments.