[Haskell-cafe] Please help from a newby
Luke Palmer
lrpalmer at gmail.com
Fri Nov 2 16:34:13 EDT 2007
On 11/2/07, karle <ph_kittichai at yahoo.com> wrote:
> type Address = Int
> data Port = C | D deriving(Eq,Show)
> data Payload = UP[Char] | RTDP(Address,Port) deriving(Eq,Show)
> data Pkgtype = RTD | U deriving(Eq,Show)
> type Pkg = (Pkgtype,Address,Payload)
> type Table = [(Address,Port)]
^^^^^^^^^^^^^^
Two elements
> update_table1::Table -> Pkg -> Table
> update_table1 [] (t,d,y) = [(t,d,y)]
^^^^^^^
Three elements
So there's the error. You probably want to return something like
[(a,p)] where a is an address and p is a port. I'm trying to figure
out where you would get that information though. If your payload (the
"y" parameter in your implementation) is RTDP then you have _two_
addresses (the "d" parameter and the one in the payload), so I
wouldn't know which one to use, and if your payload is a UP then I
don't know where you would get a port.
On the other hand, I haven't the slightest clue what you're trying to
implement, I was just trying to figure it out based on the types :-)
Luke
More information about the Haskell-Cafe
mailing list