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

scalaz.iotaz.debug.package.scala Maven / Gradle / Ivy

There is a newer version: 3.0.0-M7
Show newest version
// Copyright: 2017 - 2021 Sam Halliday
// License: https://opensource.org/licenses/BSD-3-Clause

// Derived from https://github.com/frees-io/iota
//
// Copyright (C) 2017-2018 Andy Scott.
// Copyright (c) 2017-2018 47 Degrees. 
// All rights reserved.
//
// https://github.com/frees-io/iota/blob/v0.3.10/LICENSE
// https://github.com/frees-io/iota/blob/v0.3.10/NOTICE

package scalaz.iotaz

/**
 * Implicit options to configure/control Iota's macros
 */
package object debug {
  object optionTypes {
    sealed trait ShowTrees
    sealed trait ShowCache
    sealed trait ShowAborts
  }
  import optionTypes._

  object options {

    /**
     * Import this value to have Iota print the macro generated code
     * to the console during compilation
     */
    implicit val ShowTrees: ShowTrees = new ShowTrees {}

    /**
     * Import this value to have Iota print the cached computations
     * during macro expansion
     */
    implicit val ShowCache: ShowCache = new ShowCache {}

    /**
     * Import this value to have Iota print aborted instance
     * materialization for [[TList]] and [[KList]] helpers
     */
    implicit val ShowAborts: ShowAborts = new ShowAborts {}
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy