CapnProto is a extremely fast data interchange format and a capability based RPC
system. The main point is that it has no decode/encode step.
this means that when you have your capnproto structure built you can just write the bytes to
disk or send it over rpc.
Talking about the RPC: it does “time travel”, that is, you can write a bunch of methods
operating on the same value and all those methods will be coerced on just one request.
That is implemented on your code via pipelines.
A type system is the most cost effective unit test you’ll ever have.
monkey tipin’ my way to robustness
If types are a good thing , optional types are even better.
With optional types you can specify the types of things that really matter. No need
to type all the variables and functions on all your code.
Types is a easy way of saying “this method takes a number, a list and returns a string”
if you send to this method two strings it will return an error because
the method don’t is designed to work with two strings. It is supposed to work with a number and a list.
If the method returns a nil there is an error on the logic of the method. Easy isn’t it?