packages feed

purescript-0.15.15: tests/purs/passing/DerivingProfunctor.purs

module Main where

import Prelude

import Data.Predicate (Predicate)
import Data.Profunctor (class Profunctor)
import Data.Tuple (Tuple)
import Effect.Console (log)

data Test f a b
  = Test0
  | Test1 (Predicate a) b
  | Test2 Int (forall a. Array a -> Array a)
  | Test3 Int (f a b) (f a Int) (f Int b)
  | Test4 (Array (a -> Int)) (Tuple b Int)
  | Test5 { nested :: Array { x :: f { a :: a } { b :: b } } }
derive instance Profunctor f => Profunctor (Test f)

main = log "Done"