Parreaux et al., 2020 - Google Patents
Multi-stage programming in the large with staged classesParreaux et al., 2020
- Document ID
- 7646618313637926120
- Author
- Parreaux L
- Shaikhha A
- Publication year
- Publication venue
- Proceedings of the 19th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences
External Links
Snippet
Multi-stage programming (MSP) holds great promise, allowing the reliable generation of specialized, partially-evaluated code with static type-and scope-safety guarantees. Yet, we argue that MSP has not reached its full potential yet, as it has been traditionally limited to …
- 230000003068 static 0 abstract description 13
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/436—Semantic checking
- G06F8/437—Type checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
- G06F8/4442—Reducing the number of cache misses; Data prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for programme control, e.g. control unit
- G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
- G06F9/44—Arrangements for executing specific programmes
- G06F9/4421—Execution paradigms
- G06F9/4428—Object-oriented
- G06F9/443—Object-oriented method invocation or resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/456—Parallelism detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/51—Source to source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/30—Information retrieval; Database structures therefor; File system structures therefor
- G06F17/30286—Information retrieval; Database structures therefor; File system structures therefor in structured data stores
- G06F17/30386—Retrieval requests
- G06F17/30389—Query formulation
- G06F17/30404—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for programme control, e.g. control unit
- G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/74—Reverse engineering; Extracting design information from source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Paakki | Attribute grammar paradigms—a high-level methodology in language implementation | |
US8347266B2 (en) | Declarative object identity | |
US8527946B2 (en) | Declarative object identity using relation types | |
Murray et al. | Steno: Automatic optimization of declarative queries | |
Salib | Starkiller: A static type inferencer and compiler for Python | |
Parreaux et al. | Unifying analytic and statically-typed quasiquotes | |
Holzbaur et al. | A Prolog Constraint Handling Rules compiler and runtime system | |
Benton et al. | Adventures in interoperability: the sml. net experience | |
Parreaux et al. | Multi-stage programming in the large with staged classes | |
Danforth et al. | A FAD for data intensive applications | |
Taft | ParaSail: A pointer-free pervasively-parallel language for irregular computations | |
Schmidt et al. | Lean languages and models: Towards an interoperable kernel for persistent object systems | |
VanderHart et al. | Practical Clojure | |
Clausen | Optimizations In Distributed Run-time Compilation | |
McNally | Models for Persistence in Lazy Functional Programming Systems | |
Grabmüller | Constraint-imperative Programmierung | |
Stucki et al. | Virtual ADTs for portable metaprogramming | |
Pestov | Compiling Swift Generics | |
Horn | A Functional, Comprehensive and Extensible Multi-Platform Querying and Transformation Approach | |
Schütze | Runtime Optimization of Contextual Role-oriented Programming Languages | |
Kurš et al. | Optimizing parser combinators | |
Sullivan et al. | Querying Graph-Relational Data | |
Behera | Principle of Programming Language | |
Baker | Design and implementation of database computations in Java | |
Acharya | Principle of Programming Language |