<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
If by volatile you mean<br>
"In <a href="https://en.wikipedia.org/wiki/Computer_programming"
title="Computer programming">computer programming</a>,
particularly in the <a
href="https://en.wikipedia.org/wiki/C_%28programming_language%29"
title="C (programming language)">C</a>, <a
href="https://en.wikipedia.org/wiki/C%2B%2B" title="C++">C++</a>,
<a
href="https://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29"
title="C Sharp (programming language)">C#</a>, and <a
href="https://en.wikipedia.org/wiki/Java_%28programming_language%29"
title="Java (programming language)">Java</a> <a
href="https://en.wikipedia.org/wiki/Programming_language"
title="Programming language">programming languages</a>, the <b>volatile</b>
<a
href="https://en.wikipedia.org/wiki/Keyword_%28computer_programming%29"
class="mw-redirect" title="Keyword (computer programming)">keyword</a>
indicates that a <a
href="https://en.wikipedia.org/wiki/Value_%28computer_science%29"
title="Value (computer science)">value</a> may change between
different accesses, even if it does not appear to be modified. This
keyword prevents an <a
href="https://en.wikipedia.org/wiki/Optimizing_compiler"
title="Optimizing compiler">optimizing compiler</a> from
optimizing away subsequent reads or writes and thus incorrectly
reusing a stale value or omitting writes. Volatile values primarily
arise in hardware access (<a
href="https://en.wikipedia.org/wiki/Memory-mapped_I/O"
title="Memory-mapped I/O">memory-mapped I/O</a>), where reading
from or writing to memory is used to communicate with <a
href="https://en.wikipedia.org/wiki/Peripheral_device"
class="mw-redirect" title="Peripheral device">peripheral devices</a>,
and in <a
href="https://en.wikipedia.org/wiki/Thread_%28computing%29"
title="Thread (computing)">threading</a>, where a different thread
may have modified a value."<br>
<br>
Then I would say any variable, x, exported from a module m as read
only, m.x-, would be nonvolatile to modules external to m. A call
to any procedure m.p could, of course, change the value of m.x. The
Oberon language (at least to my knowledge) does not support the
concept volatile.<br>
What is the need driving your question?<br>
<br>
-Doug Danforth<br>
<br>
<div class="moz-cite-prefix">On 7/28/2016 9:27 AM, Srinivas Nayak
wrote:<br>
</div>
<blockquote cite="mid:579A326E.6080704@gmail.com" type="cite">Dear
All,
<br>
<br>
In Oberon, do we have a way to specify, if a variable is volatile?
<br>
If not, how do we work around for such a need?
<br>
<br>
</blockquote>
<br>
</body>
</html>