The suggestion here is to have something like Go
channel <- value.
Usually I’m against aliases, but
<< is already quite widespread an used in the stdlib to append/push a value (
IO#<<). Furthermore, by returning
self, we can even have the possibility to send several values in one line, like with
class Channel def <<(value : T) : Channel send value self end end channel = Channel(Int32).new spawn do channel << 0 # Same as channel.send 0 # Multiple sends channel << 0 << 0 end 4.times do puts channel.receive # => 0 end