A type-theoretic approach to higher-order modules with sharing
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Optimizing ML with run-time code generation
ACM SIGPLAN Notices - Best of PLDI 1979-1999
An extensible protocol architecture for application-specific networking
ATEC '96 Proceedings of the 1996 annual conference on USENIX Annual Technical Conference
Hi-index | 0.00 |
This paper describes the design of a protocol stack implemented in Standard ML. Standard ML''s signatures are a language construct which can be used to specify or constrain the interface of a module. The design includes both a generic signature which generalizes all the protocol modules, and individual signatures specific to each protocol module. The specific signatures all inherit from the generic signature. The implementation of each protocol is parametrized, so protocols can be composed into custom protocol stacks. The parameter to each protocol is constrained only by the generic signature, and this lets any protocol instance satisfying a specific signature be used as the parameter to any other protocol. As a result, the design and implementation are highly modular, and syntactic compatibility between modules is checked by the compiler. To provide some context for the discussion of the signatures, some of the details of the implementation are also presented.