The design and implementation of hierarchical software systems with reusable components
ACM Transactions on Software Engineering and Methodology (TOSEM)
The essence of functional programming
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Building interpreters by composing monads
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Signatures for a network protocol stack: a systems application of Standard ML
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Elk: the Extension Language Kit
Computing Systems
Applicative functors and fully transparent higher-order modules
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Monad transformers and modular interpreters
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Lua—an extensible extension language
Software—Practice & Experience
Type-directed partial evaluation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Domain specific embedded compilers
Proceedings of the 2nd conference on Domain-specific languages
A single intermediate language that supports multiple implementations of exceptions
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Recursive structures for standard ML
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Modular typechecking for hierarchically extensible datatypes and functions
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
A Simple Solution to Type Specialization
ICALP '98 Proceedings of the 25th International Colloquium on Automata, Languages and Programming
Extending and embedding Perl
Embedding an interpreted language using higher-order functions and types
Proceedings of the 2003 workshop on Interpreters, virtual machines and emulators
Two-level types and parameterized modules
Journal of Functional Programming
Journal of Functional Programming
An expressive language of signatures
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Libscheme: scheme as a C library
VHLLS'94 Proceedings of the USENIX 1994 Very High Level Languages Symposium Proceedings on USENIX 1994 Very High Level Languages Symposium Proceedings
Journal of Functional Programming
Finally tagless, partially evaluated: Tagless staged interpreters for simpler typed languages
Journal of Functional Programming
Engineering higher-order modules in SML/NJ
IFL'09 Proceedings of the 21st international conference on Implementation and application of functional languages
Hi-index | 0.00 |
To illustrate the utility of a powerful modules language, this paper presents the embedded interpreter Lua-ML. The interpreter combines extensibility and separate compilation without compromising type safety. Its types are extended by applying a sum constructor to built-in types and to extensions, then tying a recursive knot using a two-level type; the sum constructor is written using an ML functor. The initial basis is extended by composing initialization functions from individual extensions, also using ML functors.