I highly recommend Simon Fowler's ECOOP 2017 lecture <a href="https://www.youtube.com/watch?v=lpbkIjjoMRk" rel="nofollow">https://www.youtube.com/watch?v=lpbkIjjoMRk</a><p>However, channels are best understood as Actors with put and get messages so that aChannel.put[x] puts x in aChannel and aChannel.get[ ] gets from aChannel. A channel of type T has the following interface:
Interface Channel<T>
put[T] -> Void,
get[ ] -> T<p>Actors can be categorically automatized, which means that up to a unique isomorphism, there is just one model that satisfies the axioms. In this way, Actors can be much more precisely defined in a general way than can be done using an extended lambda calculus as in Fowler's lecture.<p>Furthermore, a common misunderstanding is that an an Actor must have a mailbox, message queue, or event queue. There would be an infinite regress if any of these were required because since everything is an Actor, each of these would itself need a mailbox, message queue, or event queue. Instead, an Actor (e.g. a ReadersWriters scheduler) performs internal queuing when required. See <a href="https://www.amazon.com/Inconsistency-Robustness-Studies-Logic-Hewitt/dp/1848901593" rel="nofollow">https://www.amazon.com/Inconsistency-Robustness-Studies-Logi...</a><p>To get the latest, see my upcoming Code Mesh Keynote: <a href="https://plus.google.com/+CarlHewitt-StandardIoT/posts/BXSZ7Y25b4p" rel="nofollow">https://plus.google.com/+CarlHewitt-StandardIoT/posts/BXSZ7Y...</a>
A channel can behave like an actor but they are not the same thing. An actor is a living entity. A channel is a transit mechanism.<p>What is the purpose of this post? To argue the academic definition of channels and actors? To spark a discussion on their uses and benefits?
PS. The interface for ReadersWriter is<p>Interface ReadersWriter read[QueryRequest] -> QueryResponse,
write[WriteRequest] -> Void<p>A ReadersWriter scheduler for a database allows multiple read messages to be concurrently operating in the database but a write excludes all others.
How this view on channels relate with information theory? can we think of them as an actor and its capacity a property of the physical modeling represented by that actor: floppy disk, cd, dvd, lan, wan, river, lake, ocean?