diff options
author | Calvin <calvin@EESI> | 2013-05-28 10:47:11 -0400 |
---|---|---|
committer | Calvin <calvin@EESI> | 2013-05-28 10:47:11 -0400 |
commit | dd38d0d1dda2be42bf280aeca110542f2f2fef1b (patch) | |
tree | c921dc0690e29f1b7b913aaa72b9c12539faa5a1 /src/nbc/history.sml | |
parent | 2f33e34ae06b96c3f3e4456ce960172903f60bfb (diff) |
removed files
Diffstat (limited to 'src/nbc/history.sml')
-rw-r--r-- | src/nbc/history.sml | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/src/nbc/history.sml b/src/nbc/history.sml deleted file mode 100644 index 52c1bb2..0000000 --- a/src/nbc/history.sml +++ /dev/null @@ -1,74 +0,0 @@ -structure History :> sig - type history - val create: int -> history - val clear: history -> history - val push: history * char -> string option * history -end = struct - type history = {maximumSize: int, content: string} - fun create maximumSize = {maximumSize = maximumSize, content = ""} - fun clear {maximumSize, content = _} = - {maximumSize = maximumSize, content = ""} - fun addToString (string, newCharacter) = - let - val size = size string - in - CharVector.tabulate ( - size + 1 - , fn index => - if index = size then newCharacter - else String.sub (string, index) - ) - end - fun shiftIntoString (string, newCharacter) = - let - val size = size string - in - CharVector.tabulate ( - size - , fn index => - if index = size - 1 then newCharacter - else String.sub (string, index + 1) - ) - end - fun push ({maximumSize, content}, newCharacter) = - let - val currentSize = size content - in - if currentSize = maximumSize then - let - val newContent = shiftIntoString ( - content - , newCharacter - ) - in ( - SOME newContent - , { - maximumSize = maximumSize - , content = newContent - } - ) end - else if currentSize = maximumSize - 1 then - let - val newContent = addToString ( - content - , newCharacter - ) - in ( - SOME newContent - , { - maximumSize = maximumSize - , content = newContent - } - ) end - else ( - NONE - , { - maximumSize = maximumSize - , content = addToString ( - content - , newCharacter - ) - } - ) - end -end |