InfoQ Homepage Metaprogramming Content on InfoQ
-
KSP2 Aims to Improve Kotlin Meta-Programming, Adds Support for the K2 Kotlin Compiler
Currently available in preview, KSP 2.0, the evolution of Kotlin Symbol Processing (KSP), introduces a new architecture aimed at resolving some limitations in KSP 1.0 and adds support for the new K2 Kotlin compiler, explain Google software engineers Ting-Yuan Huang and Jiaxiang Chen.
-
Source Generators Will Enable Compile-Time Metaprogramming in C# 9
Source generators are a new feature of the C# compiler that enables inspecting user code using compiler-generated metadata and generating additional source files to be compiled along with the rest of the program.
-
Atomist Launches Alpha Programme
Atomist has launched an Alpha Programme for those who want to try out Rug, the company’s meta-meta-programming language. Rug is used to automate the development workflow by generating repetitive or boilerplate code, and is orchestrated by Atomist. Rug aims to improve productivity when working with distributed systems such as microservices.
-
Boost 1.61 Brings New Libraries for CPU/CPU Computation, Plugin Management, and More
Five months after the introduction of version 1.60, Boost hits version 1.61, adding several new libraries and updating many more.
-
Scala Adding Macros to the Language
The team behind Scala is adding an experimental version of macros in the forthcoming release version 2.10. Scala macros provide an advanced form of compile-time meta-programming.
-
Introducing the Colm Programming Language
Colm is new a programming language designed for the analysis and transformation of computer languages. Colm's main contribution lies in the parsing method. Colm was designed by Adrian Thurston, as part of his Ph.D. work.
-
Essential: a new Language Workbench
Pedro Molina has released the beta version of his new Language Workbench: Essential. Unlike other WLs, Essential is capable of interpreting the model definition, making it faster and easier to design and re-factor model driven solutions.
-
Language Workbench Competition 2011 Submissions
The submission period to the LWC 2011 closed yesterday registering 11 participants. Model Driven Software Development (MDSD) is experiencing a rapid growth due to the emergence of "Language Workbenches" which allow the development of dedicated programming languages from which general purpose programming language code can be generated. InfoQ spoke with one of the organizers of LWC 2011.
-
JetBrains MPS 1.1: Performance Improvements and Easier Debugging
Half a year ago, Meta-Programming System (MPS) version 1.0 was released by JetBrains. Following up on this, the 1.1 release occurred in December. InfoQ revisited the current state of the language workbench, which is provided as an open source product under an Apache 2.0 license (with the exception of the JetBrains IDE framework, which was extracted from IntelliJ IDEA and which is not open source).
-
Presentation: Three Years of Real-World Ruby
Martin Fowler talks about ThoughtWorks's experience with using Ruby on client projects for the past three years, and the creation of a Ruby-based product 'Mingle'.
-
Clojure Brings STM, LISP to the JVM
Clojure, a LISP-style language for the JVM, is gaining interest quickly. One of the reasons is definitely its approach to concurrency which builds on Software Transactional Memory (STM). We talked to Stuart Halloway who's writing the first book on Clojure for the Pragmatic Programmers.
-
JetBrains Meta Programming System Supports Language Oriented Programming and DSLs
Meta Programming System (MPS), a new Language Oriented Programming tool from JetBrains, allows the developers to extend programming languages as well as create Domain Specific Languages (DSLs) for enterprise applications. JetBrains development team recently announced the release of beta version of MPS software.
-
John Heintz on Adding Behavior to Java Annotations
Custom annotations are a great way to add common reusable behavior to Java applications. John Heintz from New Aspects discussed at the recent No Fluff Just Stuff (NFJS) Java Symposium, the design techniques for adding behavior to Java Annotations.
-
Metaprogramming Roundup: Speed, Ruby Macros, Screencasts
A look at what to watch out for in metaprogramming when it comes to speed, and: how ParseTree can be used to implement LISP/Scheme-style Macros in Ruby and avoid some of the issues of Open Classes.
-
Are Business Analysts Ready to Become Programmers?
Microsoft seems to think so as they prepare to deliver on the Oslo vision. Back in November 2007 Doug Purdy made a veiled reference to a new project in development calling it "Emacs.NET". This fueled rampant speculation far from the intended mark.