aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md23
1 files changed, 11 insertions, 12 deletions
diff --git a/README.md b/README.md
index 6ca29ee..4b247b0 100644
--- a/README.md
+++ b/README.md
@@ -8,39 +8,38 @@ synchronization, scheduling, and GUI design.
### Analysis
> Will you use data abstraction? How?
-TCP communication will be abstracted away so will only deal with Hermes
+TCP communication will be abstracted away, so that we 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
+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.
+The GUI will continually loop to handle input from the user, and to and fro
+the server.
> Will you use map/filter/reduce? How?
-Map will be used for dealing with editor area of clients. Iterating over a list
-of open ports to send messages(we expect a lot more but these are ones off the
-top of our heads)
+Map will be used for dealing with input area of clients, and iterating over a list
+of open ports to send messages.
> Will you use object-orientation? How?
Keeping count of the number of clients will require an object of some sort.
-With procedures to increment and decrement the number of users
+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.
+approaches e.g. you start a listener which you can call tcp-accept on.
The result of tcp accept are two pairs of ports which we can then bind to some
-variables.
+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
+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?
@@ -67,7 +66,7 @@ Evaluating Hermes is very simple. Can at least two clients hold a meaningful
conversation remotely? If Client A speaks at 11:01 am, and client B does so at
11:01 plus a few seconds, Hermes has to convey this state correctly. Is the GUI
intuitive for current irc users? When we can successfully answer this questions
-satisfactorily we would have met our goals .
+satisfactorily we would have met our goals.
## Architecture Diagram