Load File: __scramble.sml This module illustrates some of the lower level binary IO features provided by the basis library. It defines functions to scramble and unscramble files into a different order. It demonstrates the BinIO structure, in particular the underlying functional streams used in the BinIO.StreamIO structure. It also demonstrates the use of the BinPrimIO, Position and Word8Array structures. The functions Scramble.scramble and Scramble.unscramble open an in-file and an out-file, convert them into their underlying functional streams and either scramble or unscramble them using the given permutation function. Examples of such functions are provided by this module as the functions Scramble.rotate, which takes an integer argument and rotates to the right by that number of bytes, Scramble.reverse, which reverses elements, and Scramble.shuffle For example Scramble.scramble (Scramble.reverse) ("foo","foo.s"); reverses the order of the file `foo' and writes the result to `foo.s', while Scramble.scramble (Scramble.shuffle) ("foo","foo.s"); performs a shuffle operation on the order of elements in the file, ard Scramble.unscramble (Scramble.shuffle) ("foo.s","foo"); unscrambles a file scrambled using Scramble.shuffle, and so on.