These programs are safe to refactor:
object p1 {
val x = 1 + 123
val y = 1 + 123
}
Calling approve | |
[Debug] [Morley.Client.TezosClient.Impl.getAlias#254] Getting an alias for tz1TfLF61NboKZYbU7hxX3C1jXw45im6d8Kt | |
[Debug] [Morley.Client.TezosClient.Impl.callTezosClient#447] Running: tezos-client -A carthage.testnet.tezos.serokell.team -P 8732 --mode mockup list known contracts | |
[Debug] [Morley.Client.TezosClient.Impl.callTezosClient#453] stdout: | |
nettest.Stablecoin.Stablecoin FA1.2: KT1VuoysRj6tWFXAjrbQd67YMnTMi3SpNTdC | |
nettest.Stablecoin.natConsumer: KT1GnUjbtLqQgeupcDCReYmzTa86mkvwgoRa | |
nettest.Stablecoin.nettest.transferlist_internal: KT1QQAymdeefTj3RwTkvjvGWTDWJPenoiG7k | |
nettest.Stablecoin.nettest.Stablecoin: KT1Q4DccWWaM15nc9iaMDcwLNj3m85k8euVF | |
helper: KT1DW3Fq5m7q1bn8QgjhSX9iEwcBAK82bva6 | |
nettest.Stablecoin.chainIdContract: KT1KUhbZCatB5X6svDpXJ4gAX5a9X1LyU2yv |
Calling approve | |
[Debug] [Morley.Client.TezosClient.Impl.getAlias#254] Getting an alias for tz1TfLF61NboKZYbU7hxX3C1jXw45im6d8Kt | |
[Debug] [Morley.Client.TezosClient.Impl.callTezosClient#447] Running: tezos-client -A carthage.testnet.tezos.serokell.team -P 8732 --mode mockup list known contracts | |
[Debug] [Morley.Client.TezosClient.Impl.callTezosClient#453] stdout: | |
nettest.Stablecoin.Stablecoin FA1.2: KT1GrQC4nGZckcfeCtLu2sKphsNsoxUoLNtK | |
nettest.Stablecoin.natConsumer: KT1GdZ9EoAY2o5jHN2x4rACwTDAwcCGZV7bn | |
helper: KT1DW3Fq5m7q1bn8QgjhSX9iEwcBAK82bva6 | |
nettest.Stablecoin.chainIdContract: KT1KUhbZCatB5X6svDpXJ4gAX5a9X1LyU2yv | |
nettest.Stablecoin.permitCounterConsumer: KT1AihogGMjD3R8y5TK31Z6iJKXwCThK4i5D | |
nettest.Stablecoin.nettest.Stablecoin: KT1HBxv2cjKjY1nWALMbKKMdsymrdTf8hxtG |
Loading... | |
Welcome to the Ammonite Repl 1.3.2 | |
(Scala 2.12.7 Java 1.8.0_212) | |
If you like Ammonite, please support our development at www.patreon.com/lihaoyi | |
@ import $ivy.`org.scala-lang.modules::scala-parser-combinators:1.1.2` | |
import $ivy.$ | |
@ { | |
sealed trait Expr | |
case class Term(term: String) extends Expr |
import cats.implicits._ | |
import org.joda.time.DateTime | |
import tv.spotx.ironbark.druid.{DimensionMetadata, MeasurementMetadata, Schema} | |
import tv.spotx.ironbark.syntaxtree.druid.DruidQuery | |
import tv.spotx.ironbark.validation.Err.{Errs, MaybeValid} | |
object Test extends App { | |
// case class AuthCheck[+A](authorize: UserEntities => Either[Errs, (A, UserEntities)]) |
import eu.timepit.refined._ | |
import eu.timepit.refined.api._ | |
import eu.timepit.refined.auto._ | |
import eu.timepit.refined.numeric._ | |
import eu.timepit.refined.boolean._ | |
import eu.timepit.refined.char._ | |
import eu.timepit.refined.collection._ | |
import eu.timepit.refined.generic._ | |
import eu.timepit.refined.string._ |
import org.scalacheck.cats.implicits._ | |
import org.scalacheck.Gen | |
import io.circe.{Decoder, Encoder} | |
object Test extends App { | |
case class X(i: Int) | |
implicit val x: Encoder[X] = Wrapper[X].deriveInstance[Encoder] | |
implicit val y: Decoder[X] = Wrapper[X].deriveInstance[Decoder].withErrorMessage("some custom error msg") | |
val z: Gen[X] = Wrapper[X].lift(Gen.choose(0, 10)) |
This assumes familiarity with kinds and GADTs. Here's the extensions you're gonna need:
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE ExplicitForAll #-}
{-# LANGUAGE ConstraintKinds #-} | |
{-# LANGUAGE KindSignatures #-} | |
{-# LANGUAGE FunctionalDependencies #-} | |
module Playground4 where | |
import Data.Kind (Constraint) | |
import qualified Data.List as List | |
class GFunctor (c :: * -> Constraint) (f :: * -> *) | f -> c where |