world as value

Richard A. O'Keefe ok@atlas.otago.ac.nz
Wed, 16 Jun 1999 11:59:47 +1200 (NZST)


For what it's worth, Clean is no worse off than most other programming
languages, including but not limited to
 - Haskell
 - SML
 - Mercury
 - Eiffel
 - Ada
 - C
 - C++
None of them has a model of the *world* in which files can change state
other than by the actions of the program.  Curiously, there is a feature
in C which is there precisely because several programs might be writing
to a file at the same time, and that is append mode "a".  When the buffer
of an append mode connection is flushed, that block of bytes is appended
to the then current state of the file.  I have tried mighty hard to find
a way of discovering where those bytes actually went, but the thing
appears to be impossible.  (No, "append" mode is in C is _not_ identical
to Fortran's open for output but start writing at the end mode.)