I was wondering whether it was possible using fixed-vector, ut dependent types seem to be a new thing I can experiment with.

Thanks for the quick reply.

On 12 March 2015 at 03:26, Adam Bergmark <adam@bergmark.nl> wrote:
If I understand you correctly you seem to want dependent types, this article uses the same example you need, promoting the length of a vector/list to the type level: https://www.fpcomplete.com/user/konn/prove-your-haskell-for-great-safety/dependent-types-in-haskell

You'd end up with `plot :: (Vector n Double -> Double) -> Vector n (Double, Double) -> IO ()' where `n' is the length of the vector.

HTH,
Adam


On Wed, Mar 11, 2015 at 10:45 PM, Sumit Sahrawat, Maths & Computing, IIT (BHU) <sumit.sahrawat.apm13@iitbhu.ac.in> wrote:
Hi everybody,

I have a function of type

    plot :: ([Double] -> Double)    -- A function to plot
         -> [(Double, Double)]      -- Range for all arguments
         -> IO ()

I want to enforce the fact that ranges for all arguments should be provided.
Is there a way to make the type system enforce it?

--
Regards

Sumit Sahrawat

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe





--
Regards

Sumit Sahrawat