This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class A[T] | |
class C[T] | |
object Apply { | |
trait ApplyMagnet { | |
type R | |
def apply(): R | |
} | |
object ApplyMagnet { | |
implicit def aMagnet[T](a: A[T]): ApplyMagnet {type R = String} = new ApplyMagnet { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package abstr.interpretation | |
import scala.annotation.tailrec | |
import scala.util.parsing.combinator.RegexParsers | |
sealed trait ParityDomain { | |
def join(p: ParityDomain): ParityDomain = ParityDomain.join(this, p) | |
} | |
case object Bottom extends ParityDomain | |
case object Top extends ParityDomain |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package abstr.interpretation | |
import scala.annotation.tailrec | |
import scala.util.parsing.combinator.RegexParsers | |
/** | |
* @author Alefas | |
* @since 03/02/15. | |
*/ | |
object ThreeCounterInterpreter { |