PacketFlow.ADT.Macros (packetflow v0.1.0)

Enhanced ADT macros for algebraic data type definitions

Summary

Functions

Define an algebraic sum type capability with implication hierarchies

Define an algebraic product type context with propagation strategies

Define an algebraic sum type intent with capability requirements

Define a variant for algebraic sum types (capability version)

Define a composition strategy for algebraic product types

Define a variant for algebraic sum types (intent version)

Functions

defadt_capability(name, operations \\ [], list)

(macro)

Define an algebraic sum type capability with implication hierarchies

defadt_context(name, fields \\ [], list)

(macro)

Define an algebraic product type context with propagation strategies

defadt_intent(name, fields \\ [], list)

(macro)

Define an algebraic sum type intent with capability requirements

defcapability_variant(name, fields)

(macro)

Define a variant for algebraic sum types (capability version)

defcompose(strategy, context1_var, context2_var, list)

(macro)

Define a composition strategy for algebraic product types

defvariant(name, fields)

(macro)

Define a variant for algebraic sum types (intent version)