
On Fri, Feb 22, 2013 at 02:07:43PM -0500, Brent Yorgey wrote:
On Fri, Feb 22, 2013 at 10:43:32AM -0800, Bryce Verdier wrote:
Lets say I have a data type like so:
data IpAddress = IpAddress {$ o1 :: !Int,$ o2 :: !Int,$ o3 :: !Int,$ o4 :: !Int$ } deriving (Show)$
which you can create by doing: IpAddress 192 168 1 1
Is there a way to do the same thing with the input data in a list? Like: IpAddress [192,168,1,1]
or using some operator (or combination of operators):Like (I'm guessing (<????>) isn't in use): IpAddress <????> [192,168,1,1]
No, there isn't. But you can make a function
ipAddress :: [Int] -> IpAddress ipAddress [a,b,c,d] = IpAddress a b c d
For that matter you can define the operator (<????>) yourself: (<????>) :: (a -> a -> a -> a -> b) -> [a] -> b f <????> [a,b,c,d] = f a b c d Not sure how useful it is though. -Brent