Memory layout of a data structure: Difference between revisions

Add Nimrod
(→‎{{header|Perl 6}}: also mention C-style reprs)
(Add Nimrod)
Line 468:
''Com1 DTR is set.''
''Com2 DSR is clear.''
 
=={{header|Nimrod}}==
<lang nimrod>type
rs232Data = enum
carrierDetect,
receivedData,
transmittedData,
dataTerminalReady,
signalGround,
dataSetReady,
requestToSend,
clearToSend,
ringIndicator
 
# Bit vector of 9 bits
var bv = {carrierDetect, signalGround, ringIndicator}
echo cast[uint16](bv) # Conversion of bitvector to 2 bytes for writing
 
let readValue: uint16 = 123
bv = cast[set[rs232Data]](readValue) # Conversion of a read value to bitvector
echo bv</lang>
Output:
<pre>273
{carrierDetect, receivedData, dataTerminalReady, signalGround, dataSetReady, requestToSend}</pre>
 
=={{header|OCaml}}==
Anonymous user