InfoQ Homepage Compilers Content on InfoQ
-
Lua: Embeddable Scripting Engine, LuaJIT 2.0 Includes New High-Performance VM
Lua is a scripting language that can be embedded in any application that can provide hooks for its C API. Version 2.0 of its JIT compiler is in Beta and includes a completely re-written VM based on a trace compiler and an interpreter written in assembler.
-
CSI C# Interpreter Supports .NET 4.0
CSI is a simple C# interpreter allowing command-line compilation of standalone C# files. A new version has been released to support .NET 4.0. CSI is open source with a full test suite.
-
Maven and JRuby Roundup: Maven_gem Brings Maven Libs to RubyGems, GemCutter Inspires JavaGems
JRuby's Charles Nutter is making Maven artifacts installable as RubyGems. An alternative to using Maven is JavaGems, built on RubyGems, Bundler and Gemcutter to make it easier to install libraries for Scala, Clojure and other JVM languages. Also, JRuby gets the ability to generate real Java classes.
-
Clojure 1.1 Adds Transients, Chunked Sequences for Efficiency
Clojure 1.1 RC1 is out and cuts the overhead of functional programming with a few new constructs: transients bring controlled mutability for persistent data structures; chunked sequences make lazy sequences more efficient. InfoQ takes a look at what makes these improvements work.
-
.NET 4.0 Brings XAML 2009, but Not for WPF Users
At PDC 2009, Michael Shim and Rob Relyea presented Microsoft’s plans for the future of XAML. Long term, they plan on unifying the various XAML languages and parsers, but for now developers will only get XAML 2009 for non-UI technologies like Workflow Foundation. The new parser, on the other hand, will bring new functionality to everyone who needs to analyze, manipulate, or generate XAML.
-
JRuby's New IR Paves the Way for Future Performance Improvements
A new intermediate representation (IR) for JRuby code enables many optimizations and could bring the next performance boost. InfoQ talked to Subbu Sastry who works on the IR.
-
MacRuby 0.5 Beta Brings JIT, AOT, GCD Support, Removes GIL
The first beta of MacRuby 0.5 is available, complete with a new VM, JIT and AOT - and without the GIL. InfoQ talked to the MacRuby core team about the state of MacRuby and whether there'll be a way to write Ruby apps for the iPhone using MacRuby.
-
New Installer Provides a Much Faster Ruby for Windows
Luis Lavena is working on an update to the Ruby installer for Windows, including a new Ruby binary built with a modern compiler. Benchmarks show Ruby 1.8.6 running more than twice as fast than previously. We talked to Luis Lavena about the new Ruby Installer.
-
A Type System for Scala Actors to Enforce Race Safety Without Sacrificing Performance
Philipp Haller and Martin Odersky introduce a type system that enables safe massage transfer in Scala actors. Formalized as an extension of the EPFL Scala compiler, “Object Capability Types” system, based on capability checking and external uniqueness, enforces race safety without sacrificing performance and removes significant limitations on message shape imposed by existing approaches.
-
Ruby VM Roundup: IronRuby 1.0 Coming Up, RubySpec, JRuby 1.3.1
IronRuby's alive and kicking - and will go 1.0 in July. We look at some resources to get up to speed with IronRuby's status. Also: JRuby 1.3.1 is an important bug fix update for JRuby users, MacRuby continues to improve and MagLev now comes with a native parser.
-
JRuby Roundup: JRuby 1.3 Released, ruby2java, JSR 292 Progress
JRuby 1.3 is now available, bringing performance improvements and compatibility with Google AppEngine. Work on other improvements is continuing and a first version of the ruby2java compiler is now available. Also: InvokeDynamic support is making it's way into the builds for the next Java version.
-
Rich Hickey on Clojure's Features and Implementation
In this interview from QCon London 2009, Rich Hickey talks about Clojure. The discussion includes the ideas behind Clojure's STM support, what other concurrency primitives Clojure supports and which ones might get added in the future. Other topics covered are Clojure's AOT support, the role and implementation of multimethods, Clojure ports to other systems and much more.
-
Performance Roundup: Heap Stacks Boost Threads in 1.8.x, MacRuby AOT, ZenProfile and EventHooks
New patches by Joe Damato improve the efficiency of Ruby 1.8.x's green threads with heap stacks: instead of copying the entire stack at every context switch, the patches actually switch between different stacks. Ryan Davis released zenprofile and event_hook for efficient profiling. Also: work on a MacRuby Ahead of Time compiler using LLVM has started.
-
Microsoft Has Open Sourced the Common Compiler Infrastructure
Microsoft Research has open sourced the Common Compiler Infrastructure: Metadata (CCI) and CCI: Code and AST projects containing a set of libraries used by compilers and other programming tools to manipulate metadata in CLR assemblies and debug files. The CCI: Metadata components subsume System.Reflection while CCI: Code and AST subsumes System.CodeDom.
-
Jeff Moser's How .NET Regular Expressions Really Work
Did you know the last 15 regular expressions are cached? Or that the .NET engine uses a form of machine code? You can learn this and more from Jeff Moser's in-depth study of how regular expressions work in .NET.