spelling fixes and punctuations, ready for releases

This commit is contained in:
Ibrahim Mkusa 2017-04-02 23:56:27 -04:00
parent 88ee618995
commit f86c333ce5

View File

@ -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