All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dc10.scala.ctx.package.scala Maven / Gradle / Ivy

There is a newer version: 0.9.0
Show newest version
package dc10.scala.ctx

import cats.{Applicative, Functor}
import dc10.scala.ast.{ScalaFile, Statement}
import dc10.scala.ast.Statement.PackageDef

extension [F[_]: Applicative: Functor] (ctx: List[PackageDef])
  def ext(s: PackageDef): F[List[PackageDef]] =
    Functor[F].map(namecheck(s))(ctx :+ _)
  def namecheck(s: PackageDef): F[PackageDef] =
    // TODO
    Applicative[F].pure(s)

extension [F[_]: Applicative: Functor](ctx: List[Statement])
  def ext(s: Statement): F[List[Statement]] =
    Functor[F].map(namecheck(s))(ctx :+ _)
  def namecheck(s: Statement): F[Statement] =
    // TODO
    Applicative[F].pure(s)

extension [F[_]: Applicative: Functor] (ctx: List[ScalaFile])
  def ext(s: ScalaFile): F[List[ScalaFile]] =
    Functor[F].map(namecheck(s))(ctx :+ _)
  def namecheck(s: ScalaFile): F[ScalaFile] =
    // TODO
    Applicative[F].pure(s)




© 2015 - 2025 Weber Informatics LLC | Privacy Policy