From 86236bf766178ed74881eada709b3447a2247dec Mon Sep 17 00:00:00 2001 From: Darius Rad Date: Tue, 21 Jan 2025 17:18:49 -0500 Subject: [PATCH] Add Connectable instance for connecting ReadOnly to WriteOnly --- src/Libraries/Base1/Connectable.bs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/Libraries/Base1/Connectable.bs b/src/Libraries/Base1/Connectable.bs index 30882459a..9968f301e 100644 --- a/src/Libraries/Base1/Connectable.bs +++ b/src/Libraries/Base1/Connectable.bs @@ -152,3 +152,14 @@ instance Connectable Action Action ==> action a1 a2 + +instance Connectable (ReadOnly a) (WriteOnly a) where + mkConnection :: (IsModule m c) => (ReadOnly a) -> (WriteOnly a) -> (m Empty) + mkConnection ro wo = + module + rules + {-# ASSERT fire when enabled #-} + {-# ASSERT no implicit conditions #-} + "write": + when True + ==> wo._write(ro._read)