[Haskell-cafe] Mathematical functions with multiple arguments

Sumit Sahrawat, Maths & Computing, IIT (BHU) sumit.sahrawat.apm13 at iitbhu.ac.in
Wed Mar 11 21:58:51 UTC 2015


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 at 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 at 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 at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>>
>>
>


-- 
Regards

Sumit Sahrawat
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20150312/324237e7/attachment.html>


More information about the Haskell-Cafe mailing list