ACM SIGPLAN Notices
Theoretical Computer Science
Pizza into Java: translating theory into practice
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
PolyP—a polytypic programming language extension
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Symposium on Principles of Programming Languages
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Design and implementation of generics for the .NET Common language runtime
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 12th European Conference on Object-Oriented Programming
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Predicate Dispatching: A Unified Theory of Dispatch
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
A Statically Safe Alternative to Virtual Types
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Dynamically Composable Collaborations with Delegation Layers
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
A first-class approach to genericity
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Science of Computer Programming - Special issue on mathematics of program construction (MPC 2002)
Scalable extensibility via nested inheritance
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Towards a fully-reflective meta-programming language
ACSC '05 Proceedings of the Twenty-eighth Australasian conference on Computer Science - Volume 38
Scalable component abstractions
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
MultiJava: Design rationale, compiler implementation, and applications
ACM Transactions on Programming Languages and Systems (TOPLAS)
“Scrap your boilerplate” reloaded
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
Variance and generalized constraints for C# generics
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
The Essence of the Iterator Pattern
MSFP'06 Proceedings of the 2006 international conference on Mathematically Structured Functional Programming
Proceedings of the ACM SIGPLAN workshop on Generic programming
Bialgebra views: a way for polytypic programming to cohabit with data abstraction
Proceedings of the ACM SIGPLAN workshop on Generic programming
Algorithms for traversal-based generic programming
Proceedings of the 6th ACM SIGPLAN workshop on Generic programming
Scala for generic programmers: Comparing haskell and scala support for generic programming
Journal of Functional Programming
Hi-index | 0.00 |
Datatype-generic programming (DGP) is the next step beyond abstracting over types using parametric polymorphism, which is often called "genericity" in object-oriented languages. However, unlike genericity, DGP has not received much attention in the OO community. Nonetheless, in the context of functional languages, it has proven to make programs more robust with respect to changes in the type structure, as well as in many other applications, such as type-safe XML processing and marshalling. To carry these strengths over to an OO language, we present an extensible library for lightweight DGP in Scala, based on an existing lightweight approach in Haskell. We discuss the challenges in developing and using our library, and explore ways to overcome them.