InfoQ

Topic/Tag specific view

Metaprogramming Content on InfoQ


Latest featured content about Metaprogramming

Behind LINQ - And Beyond

Community
.NET,
Java
Topics
Dynamic Languages,
.NET Framework

In this presentation from the JVM Languages Summit 2008, Mads Torgersen discusses LINQ, declarative programming and metaprogramming in C#, examples of LINQ syntax and usage, lazy evaluation of LINQ queries, extension methods, lambda expressions, LINQ-to-SQL, LINQ expressions and metaprogramming, expression trees, how the .Net Dynamic Language Runtime (DLR) works, PLINQ, and the future of the DLR.

News about Metaprogramming

Clojure Brings STM, LISP to the JVM

Community
Architecture,
Ruby,
Java
Topics
Scripting,
Language,
Performance & Scalability,
Dynamic Languages

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

Community
Architecture
Topics
Modeling,
Language Workbenches,
Model Driven Engineering

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

Community
Java
Topics
AOP

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.

Articles about Metaprogramming

Best Practices for Model-Driven Software Development

Community
Architecture
Topics
Domain Specific Languages,
Modeling

Model-driven software development no longer belongs to the fringes of the industry but is being applied in more and more software projects with great success. In this article we would like to pass on, based on the experiences we have gathered in the past few years, our contribution to its best practices.

Aaron Erickson on LINQ and i4o

Community
.NET
Topics
Performance & Scalability,
Programming

Aaron Erickson introduces his new LINQ extension Indexes for Objects (i4o). Indexes for Objects allows for fast lookup against in-memory collections while retaining the LINQ syntax and semantics. He also discusses how expression trees interact with LINQ and how they can be leveraged in other scenarios.

Presentations about Metaprogramming

Archaeopteryx: A Ruby MIDI Generator

Community
Ruby
Topics
Scripting,
Rich Client / Desktop,
Programming

Giles Bowkett captures the heart and soul of the RubyFringe conference as he demonstrates his revolutionary Archaeopteryx MIDI generator. He delivers an eloquent, highly politicized call to action in a career-defining presentation that is raucously hilarious yet unnerving in its practicality.

Business Natural Languages Development in Ruby

Community
Ruby
Topics
Domain Specific Languages,
Specifications,
Language,
Business Process Management,
Customers & Requirements

Jay Fields presents 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 language is shown using Ruby.

Interviews about Metaprogramming

Ryan "zenspider" Davis, Hardcore Ruby Hacker

Community
Ruby
Topics
Dynamic Languages,
Programming

Ryan Davis, known as "zenspider", is one of the highest-profile Rubyists in the world, and arguably one of the most influential ones. He is the author of a number of valuable Ruby open-source tools, including RubyInline and ZenTest. In this exclusive InfoQ interview, Ryan gives us a glimpse into how he has been pushing the envelope of what's possible with the Ruby language and runtime since 2000.