this enables
class F[T <: ChannelList : TypeTag](t: ChannelRef[T]) extends Channels[T] {
channel[T] { (x, snd) => x -?-> t -!-> snd }
}
which can then be extended to bunching, filtering, transforming of
message streams.
- you can tell/ask WrappedMessage and it will be checked precisely and
sent naked
- ask() always returns Future[WrappedMessage[_ <: ChannelList, LUB]]
- FutureOps.lub will collapse such a Future into Future[LUB]
- sending a Future[WrappedMessage[_, _]] to a ChannelRef will check it
precisely and send naked
- reify() all trees, no bricolage
- use rediscovered c.TypeTag factory to splice in calculated types
- give meaningful names to type parameters and humunguosly explode val
names
- add Helpers.weakTT for producing a WeakTypeTag from a tpe
- use that to simplify Ask.scala (the others will follow)
- and this way make forwarding actually work
- rename projects to akka-channels and akka-channels-tests
- move implementation into akka.channels.macros package
- remove picking up ActorRef as sender (or none at all)
- factor out logic to make different façades acting upon Future[] or Any
so that -!-> and -?-> can complement the traditional <-!- and <-?-
- the new operators are easily distinguishable from !/? and the
rightwards-pointing go with the flow and compose better, let’s try
them out