Live data from Hacker News

Viewing profile — jw-

jw-

HN member
Joined
Sun, Jan 12, 2014, 2:19 PM UTC
HN karma
42
Public activity
21 items

About jw-

No profile information was provided.

Recent public activity

  1. comment
    Comment #17756659

    General recursion in programs (that makes termination undecidable) requires a fix-point operator of type (a -> a) -> a The logical equivalent of this is an axiom (P -> P) -> P whic…

  2. comment
    Comment #16429838

    How is sequencing described in the type of join?

  3. comment
    Comment #16108510

    I think SSA is related to CPS, but I'm not sure of the correspondence with Linearity. I think the key difference (but I'm not sure), is that SSA only asserts that a variable is ass…

  4. comment
    Comment #16108473

    I think you could say that. Another way to look at it would be to say it's about organising your code in such a way that side-effects don't really matter. For instance, if only I h…

  5. comment
    Comment #15984327

    I also get the impression that some people view using dynamically typed languages as a badge of honor, taking more expertise to harness the greater 'expressive' power, all whilst j…

  6. comment
    Comment #15984171

    It's already been flirted with in JS I believe [1], though not specifically for Flow. The problem is that it falls down in the higher order case, which happens quite alot in JS. Al…

  7. comment
    Comment #15984104

    I'd consider those languages optionally typed, rather than gradually typed, as they don't insert run-time type checks. Regardless, I still think it's all interesting and valuable w…

  8. comment
    Comment #15649221

    By OCaml's let syntax do you mean this: https://blog.janestreet.com/let-syntax-and-why-you-should-us... ? You can also add F# computation expressions to the list!

  9. comment
    Comment #15642781

    I think the jump from 'Category' to 'Value: Anything that can be assigned to a variable.' was a somewhat jarring change in abstraction level. Also, trying to explain Monad, Comonad…

  10. comment
    Comment #15512523

    I'm not really sure why you need the requirement of infinite sequences to do functional programming, or the restriction of no intermediate variables. Let bindings seem like a nice …

  11. comment
    Comment #15272415

    I've done some work on dynamic type checking for JavaScript and the tricky part is always when things start going higher order; sadly this is often omitted from examples. The motiv…

  12. comment
    Comment #15272354

    As far as I can tell this isn't dynamic, it just builds an AST. Am I missing something?

  13. comment
    Comment #15272338

    You could easily use unit tests to get better coverage.

  14. comment
    Comment #15272332

    Really interesting stuff! I tried out some higher-order examples: INPUT >>> function add(f, b) { return f(b); }; let a = add(function(x) {return x + 1}, 3); OUTPUT >>> function add…

  15. comment
    Comment #14572508

    > Think about being able to specify protocols in the type system and ensuring that your client and server meet the specifications. The example in that link is about user authentica…

  16. comment
    Comment #13255588

    This seems like a very simple concept when compared with other systems using software transplants [1]. The most important thing I gleaned from this is the benefit of having 'type i…

  17. comment
    Comment #13255534

    "So, is JavaScript a truly functional programming language? The short answer is no. Without support for tail-call optimization, pattern matching, immutable data struc- tures, and o…

  18. comment
    Comment #11906181

    This is all true, but is it not a problem that most static languages don't let you (easily) specify the kind of invariants people include in unit-tests.

  19. comment
    Comment #11548210

    I would distinguish Hearthstone (a.k.a Wizard Poker) from the rest; Hearthstone is fundamentally a gambling game. However, I would also distinguish the "in-game" gambling in Hearth…

  20. comment
    Comment #11398947

    The problem doesn't really have anything to do with immutability; the problem is dependency and composition. E.g. f :: A -> B g :: B -> C will let me write g(f(x)), but not f(g(x))…

  21. comment
    Comment #7090649

    For those interested in the learning more about single language web applications the Links project ( http://groups.inf.ed.ac.uk/links/ ) has been going for some time with quite a f…