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.
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.
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.
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.
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).
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, 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.
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.
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.
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.
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.
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.
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.
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.
Ayende Rahien describes how to build internal DSLs on the CLR. He compares different .NET languages as suitable host languages for DSLs and presents Boo as an ideal candidate due to its meta programming facilities, flexibility, and performance.