Live data from Hacker News

Viewing profile — Iceland_jack

Iceland_jack

HN member
Joined
Wed, Sep 21, 2011, 8:48 PM UTC
HN karma
63
Public activity
68 items

About Iceland_jack

Haskell.

Recent public activity

  1. comment
    Comment #46704503

    This is to say that (length-indexed) "Arrays" are Representable functors[1]. A `Vec n a` is isomorphic to (Fin n -> a), where Fin n = { x :: Nat | x instance pi n. Representable (V…

  2. comment
    Comment #46423318

    To your point, but lispers like the author of Let Over Lambda specifically called Lisp non-functional.

  3. comment
    Comment #41678910

    Maybe you meant to write (??) :: Functor f => f (a -> b) -> a -> f b funs ?? a = fmap ($ a) funs from lens: https://hackage.haskell.org/package/lens-5.3.2/docs/Control-... This is …

  4. comment
    Comment #41678890

    > As far as I know it's not possible to get this functionality in Haskell even with clever instance magic It is possible to fill in basic function bodies based on their type, using…

  5. comment
    Comment #41659913

    lift = sequenceA @[] @(a ->)

  6. comment
    Comment #41595723

    I appreciate the link to https://dl.acm.org/doi/10.1145/3236774

  7. comment
    Comment #41202758

    Haskell focuses on both, but prioritizes research. I have had several Haskell jobs and highly recommend it for the personal enjoyment.

  8. comment
    Comment #41202661

    Any function matching the type St -> (a, St) can viewed as `State St' parameterized over `a'. There are several behaviors that organize such functions, such as Monad which "overloa…

  9. comment
    Comment #41143861

    Applicative is n-ary lifting, Functor is a special unary case of Applicative: liftA0 :: Applicative f => (a) -> (f a) liftF1 :: Functor f => (a -> b) -> (f a -> f b) liftA2 :: Appl…

  10. comment
    Comment #41117811

    Monads don't have anything to do with laziness but historically the need for them arose because of laziness. It's the first thing explained in the introduction of Tackling the Awkw…

  11. comment
    Comment #41045156

    In Haskell behavour is type-directed (type classes) and they describe both.

  12. comment
    Comment #41034773

    What does that mean?

  13. comment
    Comment #40873689

    I met Sam Derbyshire at ZuriHac who told me all the difficult architectural work had been done for SIMD support. + https://gitlab.haskell.org/ghc/ghc/-/issues/7741 It might make it…

  14. comment
    Comment #40828701

    I write this in my Haskell day job every day.

  15. comment
    Comment #40337895

    That reminds me, I should write a Monad tutorial.

  16. comment
    Comment #40318184

    By floating the forall., we get another representation type for Void (forall a. a) and `absurd' is one half of that isomorphism :) absurd :: Void -> (forall a. a) drusba :: (forall…

  17. comment
    Comment #39641321

    With https://ucsd-progsys.github.io/liquidhaskell/ , but as a separate checker. I think there are talks of integrating it into the compiler

  18. comment
    Comment #39428791

    See "Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell" by Simon Peyton Jones https://www.microsoft.com/en-us/researc…

  19. comment
    Comment #39428746

    IO distinguishes execution (of actions) from evaluation (of expressions). To execute an `action :: IO Ty' for a value of `a :: Ty', you use do (a :: Ty) The 'function' rand is not …

  20. comment
    Comment #36442492

    The abstract concepts give you the tools to quickly classify a datatype. They are not limited to Haskell and let you ask the right questions of datatypes in any language. The found…

  21. comment
    Comment #34666658

    Either a :: Type -> Type is a Haskell Functor (endofunctor), mapping (->) to (->). Either :: Type -> (Type -> Type) is not an endofunctor, it maps a type to a type constructor and …

  22. comment
    Comment #33960745

    What's the big deal, using a font outside of its narrowly designed purpose is certainly not it. Some people venture outside the box

  23. comment
    Comment #33838647

    I always write existential quantification data Showable = forall a. Show a => Showable a with GADT syntax because it can be confusing for people to infer the type of `Showable' fro…

  24. comment
    Comment #33812142

    algebra of typed composition, a discipline for making definitions, study of universal properties, theory of duality, formal theory of analogy, mathematical model of mathematical mo…

  25. comment
    Comment #33451093

    Notions of Computation as Monoids https://www.fceia.unr.edu.ar/~mauro/pubs/Notions_of_Computat...