Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> you often need additional constraints, e.g. <X : Hashable> or something

in haskell:

  noConstraint    :: List a -> (a -> b) -> List b
  withConstraints :: (Hashable a, Frobable b) => List a -> (a -> b) -> List b
you still don't have to declare `a` and `b`, you're just adding a constraint on them.

(iirc in haskell types have to start with an uppercase character, which means you can use lowercase letters for type variables without extra apostrophes etc)



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: