HaNS Related
HaNS Benefits


• Platform for design-level experimentation: new network architectures, co-operating network agents, dynamic and reactive topologies

• Free of typical vulnerabilities, easily understood and extended, high-level executable specification

• Network-enabled HaLVM


HaNS is a lightweight, pure Haskell network stack that can be used for Haskell networking in the context of the HaLVM, or with a Linux tap device. Currently, HaNS supports 802.3, IPv4, ARP, DHCP (partially), ICMP, UDP, and TCP.

On Github: https://github.com/GaloisInc/HaNS

The TCP component is a port of Peng Li and Stephan Zdancewic's Haskell TCP library, which in turn was translated from Norrish et al's HOL4 TCP specification.

What might you use HaNS for? Developing new and interesting networking protocols, at any layer of the network stack, or your own variants of existing protocols. HaNS allows HaLVM nodes to support networking, meaning you can run experimental network services directly on top of the HaLVM (without any pesky OS getting in the way). There are probably lots of other cool applications of HaNS we haven't though of yet. HaNS is released under a BSD license and should be considered experimental at this stage. If you have any questions, please contact the HaLVM team at halvm-devel at community.galois.com.

Collaborate with Us

Licensing - Obtain a license for one of our advanced technologies.

Research & Development - Solve your toughest problems by exploring new approaches with us.

Training - Learn how to use cutting-edge tools to increase trustworthiness in your critical systems.

Let's Work TogetherStart the Conversation >>