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.
-
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.
-
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.
-
Presentation: Business Natural Languages Development in Ruby
In this presentation, Jay Fields introduces his concept of Business Natural Languages (BNL). BNLs are a type of Domain Specific Language, designed to be readable by any subject matter expert, which allows to create maintainable specifications and documentation. The example languages are implemented using Ruby.
-
Should you really learn another language?
Blogger Gustavo Duarte cursed in church when he said that learning new programming languages is often a waste of time. He said that "In reality learning a new language is a gritty business in which most of the effort is spent on low-value tasks with poor return on time invested.". But not everyone agreed.
-
MountainWest RubyConf 2008 Videos
The videos from MountainWest RubyConf 2008 are all available for downloading from the Confreaks website. We selected a few videos and provide an overview and some entry points into the talks.