Live data from Hacker News

Viewing profile — Peaker

Peaker

HN member
Joined
Tue, Jan 11, 2011, 9:48 PM UTC
HN karma
3,101
Public activity
1,524 items

About Peaker

No profile information was provided.

Recent public activity

  1. comment
    Comment #17807763

    And this is why they need human brains in The Matrix

  2. comment
    Comment #17561618

    A type-class or just a callback type, vs pattern-matching, yeah.

  3. comment
    Comment #17536834

    There's a huge advantage to not everything being async/await. Knowing exactly when you yield control can give you atomicity and more determinism for free.

  4. comment
    Comment #17536823

    Then what you have is not "anything". You have an expression problem: Either each element has some "handler" that does the right thing for that data type. Or you have a set of case…

  5. comment
    Comment #17536814

    Everything is of course possible, but at what cost? In my experience, with large projects, you get to pick 2: Dynamic typing Development velocity Reliability I've seen multiple lar…

  6. comment
    Comment #17535414

    When do you have lists of lists of elements of any type? What can you even do given such a value?

  7. comment
    Comment #17535411

    That's great for functions you just wrote. It's not as great for functions you change in a large code base.

  8. comment
    Comment #17535396

    Rust is a great systems language. When I write applications, I don't need a systems language, and Haskell is easier to use. Also, Rust is a great imperative language, it's not as g…

  9. comment
    Comment #17344563

    An average US citizen contributes far more to pollution than the average African or Asian.

  10. comment
    Comment #17215646

    There are various library-level implementations. Here's the first one that turned up on Google: https://raw.githubusercontent.com/target/row-types/master/ex...

  11. comment
    Comment #17196490

    Haskell has reasonable implementations of row types as well.

  12. comment
    Comment #17185343

    Life on Earth started within a few hundred million years, not 2 billion years.

  13. comment
    Comment #17182618

    I suspect the problem is mentoring. It took me months to get basic Haskell. The people I mentored, though, could clarify any misunderstanding and get explanations from multiple vie…

  14. comment
    Comment #17182607

    Haskell record syntax with lenses is workable: import Control.Lens data MyRecord = MyRecord { _a :: Int, _b :: MyRecord } makeLenses ''MyRecord Then you can use it nested like: ove…

  15. comment
    Comment #17174902

    I've mentored programmers in Haskell and they were also productive within a few weeks. I'm pretty sure I could get a student to write useful Haskell code in that time span with jus…

  16. comment
    Comment #17038715

    That's the Maybe type . The Maybe monad is this: instance Monad Maybe where return = Just Nothing >>= _ = Nothing Just x >>= f = f x (And is not really related to the discussion)

  17. comment
    Comment #17038689

    Destroying a language's safety for a single use case is a terrible trade-off. There are various possible solutions for circular structures that do not require destroying all static…

  18. comment
    Comment #16841976

    Isn't the bottleneck in any sequential access case the memory bandwidth? IOW: Are the scalar instructions slower than memory bandwidth?

  19. comment
    Comment #16753418

    Of course that's true. But Lisp is shitty at controlling memory use, indirections, and manual MM.

  20. comment
    Comment #16729599

    They're not really "inheritance". They can do what inheritance can do, and much much more.

  21. comment
    Comment #16725216

    I agree about constexpr, templates and exceptions. But C function pointers are not really emulating virtual functions. They're better and more powerful than virtual functions.

  22. comment
    Comment #16578260

    I can vet the guys who published this. This is legit, and they haven't published anything that can be used maliciously.

  23. comment
    Comment #16393586

    You don't have to write it - you just have to avoid -Wall :-)

  24. comment
    Comment #16390803

    Why do they reduce the amount of code? They add the ability for constructors to carry constraints, which aids expressivity in some cases. But the majority of GADT uses purely add s…

  25. comment
    Comment #16387568

    But you can do this without S-expressions. DLang, for example, has free-form macros that they weirdly call "mixin" (as in, mixing in some text or declarations into the AST, syntax-…