[Haskell-cafe] One-element tuple

Ivan Lazar Miljenovic ivan.miljenovic at gmail.com
Fri Aug 16 04:05:48 CEST 2013


On 16 August 2013 11:35, AntC <anthony_clayden at clear.net.nz> wrote:
> There's an annoying inconsistency:
>
>     (CustId 47, CustName "Fred", Gender Male)  -- threeple
>     (CustId 47, CustName "Fred)                -- twople
> --  (CustId 47)                                -- oneple not!
>     ()                                         -- nople
>
> (That is, it's annoying if you're trying to make typeclass instances for
> extensible/contractable tuples. Yes, I know I could use HLists.)
>
> I'm not happy with either approach I've tried:
>
>     data Oneple a = Oneple a                   -- (or newtype)
>     (Oneple $ CustId 47)                       -- too verbose
>
>     type Oneple a = [a]
>     [CustId 47]                  -- at least looks bracket-y
>
> What do you do?

http://hackage.haskell.org/package/OneTuple :p

If you really wanted some form of parentheses you could possibly use
quasiquoting for it...

>
> AntC
>
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe



-- 
Ivan Lazar Miljenovic
Ivan.Miljenovic at gmail.com
http://IvanMiljenovic.wordpress.com




More information about the Haskell-Cafe mailing list