Daffodil

Daffodil is the collection of Go libraries that we have implemented. Unless otherwise noted, all modules and packages in Daffodil are licensed under the AGPL. Please contact us if you are interested in a commercial license for any of them.

Core support library

The walland.dev/daffodil module provides several miscellaneous packages that are used throughout the rest of the Walland libraries.

ANF sets

The walland.dev/daffodil/sets/anf package provides an implementation of sets that are stored in Algebraic Normal Form (ANF). In ANF, each set is stored as the symmetric difference of intersections (or in boolean terms, as the XOR of ANDs).

Package documentation

Algebraic Normal Form

Property-based testing

All Walland libraries have an extensive suite of property-based tests, using the Rapid library. The walland.dev/daffodil/rapid package provides additional basic generators and other support code that isn't part of Rapid itself.

Package documentation

Rapid library

Property-based testing

Other modules

Communicating Sequential Processes

Pastry peer-to-peer overlay network