next up previous contents index
Next: Migrant Workers Up: Input and Output Previous: Message I/O   Contents   Index

Object I/O

Dreams was deliberately designed with a representation that uses a single contiguous region of memory to store the essence of a dream. This allows the essence to act as a buffer for I/O operations. This way, a dream may be sent over a communications link to another processor, or written out to a mass storage device to implement a persistent object.

The only problem with this, using the implementation described earlier, is that addressing of dream local instances will fail if the dream is not input back at the same address from which it was written. The solution to this is to use a position independent representation, such as IP relative addressing, or addressing by an offset from the base address of the essence of the dream. This should not be too dificult to implement, especially if the Forth system is designed for position independent coding to begin with.

Robert J. Brown