Is `Data.Vector.Fixed.toList` is what you're looking for?

On Thu, Mar 12, 2015 at 1:16 AM, Sumit Sahrawat, Maths & Computing, IIT (BHU) <sumit.sahrawat.apm13@iitbhu.ac.in> wrote:
The fixed-vector package uses a similar technique. The only trouble I'm having is with converting Vec v (Double, Double) to [(Double, Double)] for further use. I don't want to change all the code, but only the part where the user provides me with arguments.

I'll keep looking into it. Thanks for the help.

On 12 March 2015 at 04:44, David Feuer <david.feuer@gmail.com> wrote:

There are a lot of ways to do this sort of thing, and which one you choose will depend on exactly what you're trying to do. For example, you can write something vaguely like

data Nat = Z | S Nat
data SL (n :: Nat) a where
  Nil :: SL Z
  Cons :: a -> SL n a -> SL (S n) a

plot :: forall (n::Nat) . (SL n Double -> Double) ->
                                        SL n (Double, Double) -> IO ()

On Mar 11, 2015 5: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

_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners