aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md9
1 files changed, 8 insertions, 1 deletions
diff --git a/README.md b/README.md
index cfa85f1..d4fc27a 100644
--- a/README.md
+++ b/README.md
@@ -7,34 +7,41 @@ synchronization, scheduling, and GUI design.
### Analysis
> Will you use data abstraction? How?
+
TCP communication will be abstracted away so will only deal with Hermes
definition of a message.
We will try to encrypt the messages passed around. The encryption will be
abstracted away so we only have to think about it once during implementation
> Will you use recursion? How?
+
The server will continually loop waiting for connections from clients.
The Gui will continually loop to handle input with the user, and to and fro
Hermes.
-> Will you use map/filter/reduce? How?
+> Will you use map/filter/reduce? How?
+
Map will be used for dealing editor area of clients.
> Will you use object-orientation? How?
+
Keeping account of the number of clients will require an object of some sort.
With procedures to increment and decrement the number of users
> Will you use functional approaches to processing your data? How?
+
The communication part of Hermes is over tcp which uses a lot of functional
approaches e.g. you start a listener which you can then pass to tcp accept.
The result of tcp accept are two pairs of ports which we can then bind to some
variables.
> Will you use state-modification approaches? How? (If so, this should be encapsulated within objects. `set!` pretty much should only exist inside an object.)
+
State-modification will be used e.g. keeping count of logged in users requires
state modification via set! to maintain the true user account
> Will you build an expression evaluator, like we did in the symbolic differentatior and the metacircular evaluator?
+
Users will type their input into a text field from the GUI. We will retrieve
the command and evaluate it to see if its a message, or a command to change
GUI state. We will do something that resembles the metacircular evaluator.