fancadescala/core/src/main/scala/tf/bug/fancadetagless/test/Main.scala

24 lines
695 B
Scala

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)
}
}