Cool, thanks a lot.
Ross Mellgren wrote: > > P Float is the constructor to create a value of this type, similar to > data declarations. > > That is, 0.5 :: Float, P 0.5 :: Probability > > The {} notation after D creates a record accessor, also similar to > data declarations. It's equivalent to making an unD that unwraps the > value yourself: > > newtype Dist a = D { unD :: [(a, Probability)] } > > is the same as > > newtype Dist a = D [(a, Probability)] > > unD :: Dist a -> [(a, Probability)] > unD (D x) = x > > a in Dist a is a type variable, for example you could have Dist Float > (containing [(Float, Probability)]), or Dist String (containing > [(String, Probability)]) > > -Ross > > On Jun 3, 2009, at 4:01 PM, ptrash wrote: > >> >> Hi, >> >> what does this to code rows mean: >> >> newtype Probability = P Float >> newtype Dist a = D {unD :: [(a, Probability)]} >> >> newtype definies a new type called Probability. But what does P >> Float mean? >> >> And what is the a in Dist a? >> What does D {...} mean? >> >> Thanks for your help. >> -- >> View this message in context: >> http://www.nabble.com/comprehension-problem-tp23858359p23858359.html >> Sent from the Haskell - Haskell-Cafe mailing list archive at >> Nabble.com. >> >> _______________________________________________ >> Haskell-Cafe mailing list >> Haskell-Cafe@haskell.org >> http://www.haskell.org/mailman/listinfo/haskell-cafe > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > > -- View this message in context: http://www.nabble.com/comprehension-problem-tp23858359p23913380.html Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe