1 <!-- This file is part of Shapes. -->
3 <!-- Shapes is free software: you can redistribute it and/or modify -->
4 <!-- it under the terms of the GNU General Public License as published by -->
5 <!-- the Free Software Foundation, either version 3 of the License, or -->
6 <!-- any later version. -->
8 <!-- Shapes is distributed in the hope that it will be useful, -->
9 <!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
10 <!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
11 <!-- GNU General Public License for more details. -->
13 <!-- You should have received a copy of the GNU General Public License -->
14 <!-- along with Shapes. If not, see <http://www.gnu.org/licenses/>. -->
16 <!-- Copyright 2008 Henrik Tidefelt -->
18 <section id="states/misc">
19 <title>Everything else</title>
21 <p>Well, the states here do not have much in common except that they are generally not needed for basic applications.</p>
24 <system-state identifier="ignore">
25 <type><named-state-type name="Ignore" /></type>
27 <p>To be used when a state parameter is required by a non-pure function, but one does not care about the result.</p>
31 <system-state identifier="time">
32 <type><named-state-type name="Time" /></type>
34 <p>Represents the ever-changing state being the current time. It's main characteristic is nothing but that; one can be sure that it will change from one peek of it to the next.</p>
35 <p>So what's the use of it? For semantic reasons, it shall be required by the kernel's non-pure functions that interact with the outside world in such a way that the result may be different from one invocation to another (and would otherwise not have any state parameters).</p>
36 <p>Another obvious use of <self /> is to simply ask for the time. Please refer to <named-state-type name="Time" /> for details.</p>
40 <system-state identifier="randomdevice">
41 <type><named-state-type name="RandomDevice" /></type>
43 <p>Source of high quality random seeds.</p>
47 <system-state identifier="db">
48 <type><named-state-type name="Debugger" /></type>
50 <p><em>There is no global <db-state /> state.</em> This piece of documentation is just here to guide readers to the documentation in <a part="interactive" id="interactive-debug" />.</p>