Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
gtf21
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
5 ms
·
1.
▲
by
gtf21
1y ago
I think I share the same opinion: I think this is going to be a very painful break with the previous paradigm, but a much needed one, and that actually this version of the current paradigm is quite bad: browsers only survive when Google pay
2.
▲
by
gtf21
2y ago
I don't think it's specifically Haskell's style of functional programming. It's just functional programming. Any paradigm shift requires re-learning I think. I don't actually think that's particularly hard, nor
3.
▲
by
gtf21
2y ago
> Some libraries use exceptions for lots of error states that in Go would be a returned error value. This just seems like bad libraries, I'd agree that this is bad and sort of defeats the point. I haven't actually encountered t
4.
▲
by
gtf21
2y ago
Oh ok I get what you mean now, I thought you were being a bit more obtuse than that. So my original intent with that paragraph was very different, but you're right that I was not very precise with some of those statements. Thanks for t
5.
▲
by
gtf21
2y ago
I think this is being taken as me saying “therefore you can write any programme in Haskell” which, while true, was not the point I was trying to make. Instead I was trying to reduce the possible interpretation that I was suggesting that Has
6.
▲
by
gtf21
2y ago
> It is a shame that the article almost completely ignores the issue of the tooling. Mostly because while I found of the tooling occasionally difficult, I didn’t find Haskell particularly bad compared to other language ecosystems I’ve pl
7.
▲
by
gtf21
2y ago
For reference (in case it's helpful), my website (where this essay is hosted) is written in Haskell and is basically a fairly simple webserver. For the "hello world" webserver, this might be a bit instructive: https:/&#
8.
▲
by
gtf21
2y ago
If I may, as the author of "such sloppily constructed prose" (which I think might be a little unfair as a summary of all 6.5k words): In this syntax note, I was not trying to teach someone to write Haskell programmes, but rather t
9.
▲
by
gtf21
2y ago
Yeah I also really don't understand the point that's being made here: it looks like a great way to introduce more errors.
10.
▲
by
gtf21
2y ago
Nope: I think the laziness aspect is very interesting, but it's not something that makes Haskell (for me) a great programming language. Or, at least, it's not in my list of the top reasons (it is in there somewhere).
11.
▲
by
gtf21
2y ago
> I find some code easier to express with procedural/mutable loops than recursion This is what I was talking about in the section "Unlearning and relearning". While there are _some_ domains (like embedded systems) for whic
12.
▲
by
gtf21
2y ago
> That's why, if you like the Haskell philosophy, why would you restrict yourself to Haskell? In the essay, I didn't say "Haskell is the only thing you should use", what I said was: > Many languages have bits of th
13.
▲
by
gtf21
2y ago
> In this example bar's type signature doesn't tell you anything about what bar 'consumes' Yes, it does: `bar` in your example is an `Int`, it has no arguments. That is captured precisely in the type signature, so I&#
14.
▲
by
gtf21
2y ago
> Which part? This part: "the type information only tells you how you can use doSomething. To know what is doSomething, you actually have to read the code :\" I think we're disagreeing on something quite fundamental here,
15.
▲
by
gtf21
2y ago
Oh! I hope I wasn't bemoaning too much -- that was the lead-in, but it's mostly about what I really like about the language (and had some examples but I also didn't want to write a tutorial).
16.
▲
by
gtf21
2y ago
Sorry to hear that. I built it that way because I prefer reading narrower columns of text (maybe because I read a lot of magazines and newspapers, who knows).
17.
▲
by
gtf21
2y ago
I write about this at some length in the essay, perhaps you can help me by telling me why the section on "Make fewer mistakes" _doesn't_ satisfy?
18.
▲
by
gtf21
2y ago
I'm not sure that's entirely true (I wrote the examples): the point I'm trying to make is that you can precisely describe what `doSomething` consumes and produces (because it's pure) and you don't have to worry abou
19.
▲
by
gtf21
2y ago
> - how easy is it to make a web application with a hello world endpoint? If that's all you want it to do, it's very easy with Wai/Warp. > - How easy is it to auth a JWT? We don't use JWTs, but we did look at it an
20.
▲
by
gtf21
2y ago
We do use other ecosystems, yes. I haven't really found the tooling for Haskell to be particularly obstructive compared to other languages. I've run into plenty of mysteries in the typescript, python, ObjC/Swift, etc. ecosyst
21.
▲
by
gtf21
2y ago
> so that compilers can reason about it Actually this is the wrong takeaway, I think it's so that programmers can reason about it. This isn't about type errors, it's about precisely describing a particular computational ex
22.
▲
by
gtf21
2y ago
You can have that syntax if you want it via `OverloadedRecordDot`. I actually really like the syntax as it makes it easy to write DSLs which are actually just Haskell functions.
23.
▲
by
gtf21
2y ago
> The library ecosystem is probably the biggest issue. I'd love to know which things specifically you're thinking about. For what we've been building, the "integration" libraries for postgres, AWS, etc. have been
24.
▲
by
gtf21
2y ago
> Granted, the tooling is sh*t. I hear this a lot, but am curious about two things: (a) which bit(s) of the toolchain are you thinking about specifically -- I know HLS can be quite janky but I haven't really been blocked by any tool
25.
▲
by
gtf21
2y ago
I think there are more fundamental differences between functional and imperative programming paradigms (or, perhaps, declarative and imperative programming styles?) than between passing by reference and passing by value (after all, variable
26.
▲
by
gtf21
2y ago
Ah ok thanks for clarifying!
27.
▲
Why Haskell?
(gtf.io)
2 points
by
gtf21
2y ago
|
0 comments
28.
▲
by
gtf21
2y ago
"Diagrams as Code" has been around a long time (e.g. DOT), not sure what this is really bringing as an improvement, especially as seems to require an account (at least it does when I click "get started" and, as someone e
29.
▲
by
gtf21
3y ago
Some comments have already covered the subcommands thing, but why are you using the XDG_CONFIG_HOME directory `~/.config/wrm` to store files? This should be for _configuration_ not _state_. You should follow the specification for
30.
▲
by
gtf21
3y ago
I've continually been dragged back into the operational weeds of the business over the last few years (by which I mean things like running a team day-to-day, working through risk analyses on a project, etc.). This is (a) not something
More ›