back to ops

This commit is contained in:
Mark Canlas 2022-10-03 11:03:18 -04:00
parent 3cf51dd95f
commit c34e945fe9
2 changed files with 5 additions and 3 deletions

View File

@ -11,9 +11,7 @@ class AbsoluteAddress(val n: Int, val alias: String) extends Address
sealed trait ReadAddress[A] extends Address
sealed trait WriteAddress[A] extends Address:
def write[B: Loadable](x: B): syntax.PartiallyAppliedWrite[B, A] =
new syntax.PartiallyAppliedWrite(this, x)
sealed trait WriteAddress[A] extends Address
trait Volatile[A] extends ReadAddress[A]

View File

@ -1,6 +1,10 @@
package com.htmlism.scratchpad
package object syntax:
implicit class WriteRegisterOps[A](reg: WriteAddress[A]):
def write[B: Loadable](x: B): syntax.PartiallyAppliedWrite[B, A] =
new syntax.PartiallyAppliedWrite(reg, x)
class PartiallyAppliedWrite[A: Loadable, B](reg: WriteAddress[B], x: A):
def apply[C: Load: Store: Register]: String =
val literal =