Re: Is it possible to nest this kind of "continuation" (a -> b -> r)

Georgi Lyubenov <[email protected]>
Newsgroups gmane.comp.lang.haskell.cafe
Message-ID <[email protected]>
Well, if we used type indexed lists (aka just "dynamic tuples") it 
should be possible, right?

I.e.

hunzip :: [HList xs] -> HList (ToList xs)

type family ToList xs where
   ToList '[x] = [x]
   ToList (x ': xs) = [x] ': ToList xs

On 4/19/24 19:59, Tom Ellis wrote:
> On Fri, Apr 19, 2024 at 06:29:23PM +0200, PICCA Frederic-Emmanuel wrote:
>> nest ∷ [(a → r) → r] → ([a] → r) → r
>> nest xs = runCont (Prelude.mapM	cont xs)
>>
>> nest2 ∷ [(a → b → r) → r] → ([a] → [b] → r) → r
>> nest2 xs = ...
>>
>> nest3 :: ...
>>
>> Do you think that there is a generic way to write all these nestX methodes.
> I doubt it.  There's not even a generic way of writing out the
> non-CPSed versions
>
>      nest2 :: [(a, b)] -> ([a], [b])
>      nest3 :: [(a, b, c)] -> ([a], [b], [c])
>
> Instead we just have individually-named unzip functions:
>
> https://www.stackage.org/haddock/lts-22.17/base-4.18.2.0/Prelude.html#v:unzip
> https://www.stackage.org/haddock/lts-22.17/base-4.18.2.0/Prelude.html#v:unzip3
>
> Tom
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.
_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.