packages feed

purescript-0.12.0: tests/purs/passing/RowNub.purs

module Main where

import Effect.Console (log)
import Prim.Row (class Nub, class Union)
import Type.Row (RProxy(..))

nubUnion
  :: forall r1 r2 r3 r4
   . Union r1 r2 r3
  => Nub r3 r4
  => RProxy r1
  -> RProxy r2
  -> RProxy r4
nubUnion _ _ = RProxy

type InL = (x :: Int, y :: String)
type InR = (x :: String, y :: Int, z :: Boolean)
type Out = (x :: Int, y :: String, z :: Boolean)

test :: RProxy Out
test = nubUnion (RProxy :: RProxy InL) (RProxy :: RProxy InR)

main = log "Done"