[noise] Machine-readable pattern list

Alex alex at centromere.net
Wed Oct 5 07:08:01 PDT 2016


On Wed, 5 Oct 2016 07:31:59 +1000
Rhys Weatherley <rhys.weatherley at gmail.com> wrote:

> Thoughts?
> 

Hi Rhys,

I'm not sure if this is helpful or useful, but HandshakePatterns.hs in
cacophony is written in such a way as to be machine readable (in
Haskell) and also easily human verifiable.

https://github.com/centromere/cacophony/blob/master/src/Crypto/Noise/HandshakePatterns.hs

This is achieved through the use of a Free Monad data structure, and
it's strongly typed (like everything else in the library). A huge
benefit of the Free Monad structure is that I separate the pattern
specification from the implementation.

-- 
Alex


More information about the Noise mailing list