Numerical analysis: 4th ed
AXIOM: the scientific computation system
AXIOM: the scientific computation system
Algorithms for computer algebra
Algorithms for computer algebra
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Implementing Haskell overloading
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
ACM SIGSAM Bulletin
Algorithm-oriented generic libraries
Software—Practice & Experience
ESOP '94 Selected papers of ESOP '94, the 5th European symposium on Programming
Dictionary-free overloading by partial evaluation
Lisp and Symbolic Computation - Special issue on partial evaluation and semantics-based program manipulation (PEPM '94)
Maple V: programming guide
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Computers in Physics
Domain specific embedded compilers
Proceedings of the 2nd conference on Domain-specific languages
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Program development by stepwise refinement
Communications of the ACM
Generative techniques for product lines
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A Hybrid Approach to Online and Offline Partial Evaluation
Higher-Order and Symbolic Computation
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Structure and Interpretation of Computer Programs
Structure and Interpretation of Computer Programs
Design, implementation and testing of extended and mixed precision BLAS
ACM Transactions on Mathematical Software (TOMS)
Efficient Implementations of Software Architectures via Partial Evaluation
Automated Software Engineering
Guarded recursive datatype constructors
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Revised Report on the Algorithmic Language Scheme
Higher-Order and Symbolic Computation
ISAAC '88 Proceedings of the International Symposium ISSAC'88 on Symbolic and Algebraic Computation
Definitional interpreters for higher-order programming languages
ACM '72 Proceedings of the ACM annual conference - Volume 2
Multistage programming: its theory and applications
Multistage programming: its theory and applications
A comparative study of language support for generic programming
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Implementing multi-stage languages using ASTs, Gensym, and reflection
Proceedings of the 2nd international conference on Generative programming and component engineering
Generic Programming: Advanced Lectures
Generic Programming: Advanced Lectures
Journal of Functional Programming
Specialization Scenarios: A Pragmatic Approach to Declaring Program Specialization
Higher-Order and Symbolic Computation
A methodology for generating verified combinatorial circuits
Proceedings of the 4th ACM international conference on Embedded software
Multi-stage programming with functors and monads: eliminating abstraction overhead from generic code
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Proceedings of the 9th AISC international conference, the 15th Calculemas symposium, and the 7th international MKM conference on Intelligent Computer Mathematics
Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation
Multi-stage programming with functors and monads: Eliminating abstraction overhead from generic code
Science of Computer Programming
Science of Computer Programming
Shifting the stage: Staging with delimited control
Journal of Functional Programming
Bimonadic semantics for basic pattern matching calculi
MPC'06 Proceedings of the 8th international conference on Mathematics of Program Construction
Explicitly heterogeneous metaprogramming with MetaHaskell
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Terra: a multi-stage language for high-performance computing
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Hi-index | 0.00 |
The Gaussian Elimination algorithm is in fact an algorithm family -- common implementations contain at least six (mostly independent) "design choices". A generic implementation can easily be parametrized by all these design choices, but this usually leads to slow and bloated code. Using MetaOCaml's staging facilities, we show how we can produce a natural and type-safe implementation of Gaussian Elimination which exposes its design choices at code-generation time, so that these choices can effectively be specialized away, and where the resulting code is quite efficient.