It looks like you want this instead:

nActivationSum :: [(Float, Float)] -> [Float]
nActivationSum (xy : xys) = nActivation xy : nActivationSum xys
nActivationSum [] = []

This pattern is more commonly expressed with map like this:

nActivationSum :: [(Float, Float)] -> [Float]
nActivationSum inputsAndWeights = map nActivation inputsAndWeights

Or you could write it a bit shorter in point-free style:

nActivationSum :: [(Float, Float)] -> [Float]
nActivationSum = map nActivation



On Sun, Apr 14, 2013 at 4:04 PM, Miro Karpis <miroslav.karpis@gmail.com> wrote:
Please can you help me with this? What I want is to have on input a list of tuple (size 2) and on output list of floats. So now I'm returning only float instead of a list. But unfortunately I can't figure out how to implement the list......


sigmoid :: Float -> Float
sigmoid x = 1.0 / (1 + exp (-x))

nActivation :: (Float,Float) -> Float
nActivation (x,y) = sigmoid(x*y) 

nActivationSum :: [(Float, Float)] -> [Float]
nActivationSum [] = []
nActivationSum (inputs:weights) = nActivation (inputs, weights)



Couldn't match expected type `[Float]' with actual type `Float'
    In the return type of a call of `nActivation'
    In the expression: nActivation (inputs, weights)
    In an equation for `nActivationSum':
        nActivationSum (inputs : weights) = nActivation (inputs, weights)


thanks,
m.

_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://www.haskell.org/mailman/listinfo/beginners