packages feed

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

module Main where

import Prelude
import Effect.Console (log, logShow)

class Su a where
  su :: a -> a

class (Su a) <= Cl a where
  cl :: a -> a -> a

instance suNumber :: Su Number where
  su n = n + 1.0

instance clNumber :: Cl Number where
  cl n m = n + m

test :: forall a. Cl a => a -> a
test a = su (cl a a)

main = do
  logShow $ test 10.0
  log "Done"