InfoQ Homepage Language Design Content on InfoQ
-
Microsoft’s Experiments with Software Transactional Memory Have Ended
Dana Groff has announced the end of Microsoft’s experiment with software transactional memory for the .NET Framework. Known as STM.NET, this research project was announced in 2008 as an alternative to explicit locks when dealing with concurrency issues.
-
Mono Introduces Experimental C# Language Extensions
Having caught with the recent advances in Microsoft’s C# 4, the Mono team is now playing with their own extensions to the language. The two features they are experimenting with are string interpolation and support for multiple return values.
-
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.
-
JDK 7 Milestone 5 Includes Concurrency and Performance Updates, But Is Not Feature Complete
Sun's Java SE team recently released the Milestone 5 build of JDK 7. This was expected to be a feature complete release of Java 7 but is some way short of that. InfoQ takes a look at what has been added and some of the major features still missing.
-
Mark Reinhold on Closures for Java
Following on from last week's surprise announcement at Devoxx that Sun would be adding closures to Java, Mark Reinhold has published a blog entry providing more background to the decision.
-
JDK 7 Unexpectedly Gets “Simple” Closures, but is Pushed Back to End of 2010
During his Devoxx talk, Mark Reinhold has announced that JDK 7 will have Closures. With the inclusion of this much debated feature, JDK 7 schedule will be extended until around September 2010.
-
Duby and Surinx, an Interview With Charles Nutter
Charles Nutter talks about his two new languages for the JVM: Duby and its dynamic cousin Surinx.
-
Writing New .NET Languages with Irony
Irony is a framework created by Roman Ivantsov and used to write internal DSLs or entire new languages that run on .NET, the grammar being written in C#.
-
Collection and Array Initializers in VB 10
Visual Basic 10, to be released with .NET 4.0 and Visual Studio 10, is adding support for collection and array initializers. While these are similar to what we already have in C#, there are minor enhancements such as support for extension methods and improved type inference.
-
State of Python on the JVM
In the past year or so Python has really been gaining a lot of traction on the JVM, thanks to the recent advancements of Jython. In this news item we'll talk to the Jython project lead about Jython and the state of Python on the JVM.
-
The Scheme Language Is to Be Split in Two
The Scheme Steering Committee is proposing the split of the Scheme language in two which temporarily are called Small Scheme and Large Scheme.
-
Spec# and Boogie Released on CodePlex
The source code for Spec# is now available on CodePlex under the Microsoft Research Shared Source License Agreement (non-commercial use only). It’s code verification tools, named Boogie, has been released under the Microsoft Public License, which conforms to Free/Open Source standards.
-
DRYer CSS with LESS or Sass
LESS and Sass are Ruby tools that allow to reduce redundancy in CSS files by introducing variables, mixins, and other time proven language features into CSS. We take a look at how the two tools work and what they offer.
-
The .NET Reactive Framework (Rx) Enables LINQ over Events
Erik Meijer and Wes Dyer have created the .NET Reactive Framework (Rx), the mathematical dual of LINQ to Objects, allowing programmers to use LINQ over events. Erik and Brian Beckman demonstrate that IObservable is a continuation monad.
-
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.