This commit is contained in:
Mark Canlas 2022-11-19 22:34:50 -05:00
parent 0cdfef323f
commit f2fba577b6
3 changed files with 8 additions and 8 deletions

View File

@ -1,17 +1,17 @@
package com.htmlism.scratchpad
sealed trait Register[A]:
def self: String
def name: String
object Register:
given registerA: Register[A] with
def self: String = "A"
def name: String = "A"
given registerX: Register[X] with
def self: String = "X"
def name: String = "X"
given registerY: Register[Y] with
def self: String = "Y"
def name: String = "Y"
object A:
given loadA: Load[A] with

View File

@ -14,7 +14,7 @@ package object syntax:
summon[Loadable[Addr]].show(x)
val register =
summon[Register[R]].self
summon[Register[R]].name
val loadInstruction =
Load[R].instruction // TODO load action needs to interact with encoder

View File

@ -7,13 +7,13 @@ object RegisterSuite extends FunSuite:
ev
test("the accumulator is a register") {
expect.eql("A", reg[A].self)
expect.eql("A", reg[A].name)
}
test("X is a register") {
expect.eql("X", reg[X].self)
expect.eql("X", reg[X].name)
}
test("Y is a register") {
expect.eql("Y", reg[Y].self)
expect.eql("Y", reg[Y].name)
}