Replacing $
operator with more readable |>
operator
This commit is contained in:
parent
2b1c486c17
commit
0792bf3c7d
12 changed files with 122 additions and 101 deletions
18
hs/Bus.hs
18
hs/Bus.hs
|
@ -20,6 +20,8 @@ import BusTypes(
|
|||
)
|
||||
import Types(Addr)
|
||||
import Peripherals.Ram(write, bytesInRam)
|
||||
import Util((|>))
|
||||
|
||||
|
||||
data Peripherals = Peripherals
|
||||
{
|
||||
|
@ -52,12 +54,12 @@ alignCheck addr SizeQuadWord = addr `mod` 16 == 0
|
|||
-- from/to stdin/stdout, so we need IO.
|
||||
read :: ReadRequest -> Peripherals -> IO ReadResponse
|
||||
read (Request addr size) peripherals
|
||||
| not (alignCheck addr size) = return $ Left UnAligned
|
||||
| not (alignCheck addr size) = return |> Left UnAligned
|
||||
| (addr >= ramStart) && (addr <= ramEnd) =
|
||||
return $ Right $ Peripherals.Ram.read size ramAddr (ram peripherals)
|
||||
return |> Right |> Peripherals.Ram.read size ramAddr (ram peripherals)
|
||||
| (addr >= uartStart) && (addr <= uartEnd) =
|
||||
Right <$> Peripherals.Uart.read size uartAddr
|
||||
| otherwise = return $ Left UnMapped
|
||||
fmap Right (Peripherals.Uart.read size uartAddr)
|
||||
| otherwise = return |> Left UnMapped
|
||||
where
|
||||
ramAddrNoOffset = addr - ramStart
|
||||
ramAddr :: RamAddr
|
||||
|
@ -69,17 +71,17 @@ read (Request addr size) peripherals
|
|||
|
||||
write :: BusVal -> Addr -> Peripherals -> IO WriteResponse
|
||||
write val addr peripherals
|
||||
| not (alignCheck addr $ busValToTransactionSize val) = return $ Left UnAligned
|
||||
| not (alignCheck addr |> busValToTransactionSize val) = return |> Left UnAligned
|
||||
| (addr >= uartStart) && (addr <= uartEnd) =
|
||||
do
|
||||
Peripherals.Uart.write val uartAddr
|
||||
return $ Right peripherals
|
||||
return |> Right peripherals
|
||||
| (addr >= ramStart) && (addr <= ramEnd) =
|
||||
return $ Right $
|
||||
return |> Right |>
|
||||
peripherals {
|
||||
ram = Peripherals.Ram.write val ramAddr (ram peripherals)
|
||||
}
|
||||
| otherwise = return $ Left UnMapped
|
||||
| otherwise = return |> Left UnMapped
|
||||
where
|
||||
ramAddrNoOffset = addr - ramStart
|
||||
ramAddr :: RamAddr
|
||||
|
|
Reference in a new issue