CAN bus networking using Linux SocketCAN or SLCAN backends.
importqualifiedControl.MonadimportqualifiedNetwork.CANimportqualifiedNetwork.SocketCANmain::IO()
main =doNetwork.SocketCAN.withSocketCAN
(Network.SocketCAN.mkCANInterface "vcan0")
$\can ->doNetwork.CAN.send
can
$Network.CAN.standardMessage
0x123
[0xDE, 0xAD]
Control.Monad.forever
$Network.CAN.recv
can
>>=putStrLn.Network.CAN.prettyCANMessage