package tf.bug.fancadetagless.test import cats.effect.{ExitCode, IO, IOApp} import cats.implicits._ import scalax.collection.Graph import tf.bug.fancadetagless.World object Main extends IOApp { override def run(args: List[String]): IO[ExitCode] = { object TwoPlusThreeOverFour extends Calc.Program[Float] { override def apply[F[_]](int: Calc[F]): F[Float] = int.div( int.add( int.lift(2.0f), int.lift(3.0f) ), int.lift(4.0f) ) } val ft = TwoPlusThreeOverFour(Calc.FancadeCalc[IO]) ft.runS(World(Set.empty, Graph.empty)).flatMap(w => IO(println(w))).as(ExitCode.Success) } }