Live data from Hacker News

Viewing profile — gtf21

gtf21

HN member
Joined
Mon, May 05, 2014, 7:33 PM UTC
HN karma
1,236
Public activity
350 items

About gtf21

Ex-Cambridge Natural Scientist (specialised in Astrophysics). Co-founder/CTO of Converge (converge.io) - making construction more efficient, safer, and more sustainable with sensors and AI. Develops mostly in haskell, clojure, typescript, python.

Recent public activity

  1. comment
    Comment #43859363

    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 …

  2. comment
    Comment #41550557

    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…

  3. comment
    Comment #41529301

    > 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 defe…

  4. comment
    Comment #41529264

    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 v…

  5. comment
    Comment #41526312

    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 reduc…

  6. comment
    Comment #41524300

    > 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 parti…

  7. comment
    Comment #41521909

    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, thi…

  8. comment
    Comment #41521307

    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…

  9. comment
    Comment #41521201

    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. comment
    Comment #41521179

    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…

  11. comment
    Comment #41521145

    > 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…

  12. comment
    Comment #41521057

    > 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…

  13. comment
    Comment #41521018

    > 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 pr…

  14. comment
    Comment #41520996

    > 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 disagre…

  15. comment
    Comment #41520920

    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…

  16. comment
    Comment #41519811

    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. comment
    Comment #41519799

    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. comment
    Comment #41519773

    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 pur…

  19. comment
    Comment #41519742

    > - 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 …

  20. comment
    Comment #41519278

    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…

  21. comment
    Comment #41519231

    > 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 precisel…

  22. comment
    Comment #41519207

    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. comment
    Comment #41519201

    > 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 f…

  24. comment
    Comment #41519186

    > 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…

  25. comment
    Comment #41519166

    I think there are more fundamental differences between functional and imperative programming paradigms (or, perhaps, declarative and imperative programming styles?) than between pa…