
21 Jan
2015
21 Jan
'15
10:32 a.m.
Now we're definitely getting somewhere! I'm not to thrilled about the use of string literals though. How about this?
{-# LANGUAGE TypeOperators, DataKinds, RankNTypes #-} type (l ∷ t) = t
foo :: forall red green blue. (red ∷ Double) -> (green ∷ Double) -> (blue ∷ Double) -> IO ()
We just need to patch hlint to make this the suggested style.
- jeremy
In fact, why even bother with the explicit forall? Default behavior is to universally quantify unused variable names, after all. {-# LANGUAGE TypeOperators #-} type (l ∷ t) = t foo :: (red ∷ Double) -> (green ∷ Double) -> (blue ∷ Double) -> IO () At this point, I think this is a syntax form we can surely all agree upon.