I can haz lambda on Java 7?

April 29, 2013

Superficially, lambda expressions in Java 8 are just syntactic sugar for instances anonymous inner classes. Syntactic sugar should not require classfile changes, so one might expect that code compiled with Java 8 lambdas could run on a Java 7 JRE. It turns out that you can’t do this, and not just because of an automatic… Read more

Reactive Charts with D3 and Reactive.js

April 18, 2013

New to Reactive.js? Check out last week’s introduction. All visualizations are ultimately a composition of smaller elements; data sets, scales, individual lines, and labels to name a few. Those elements relate to each other in different ways, and to manage their interdependency we typically find ourselves writing a master “render” method — something that can… Read more

A “Reactive” 3D Game Engine in Excel?

April 15, 2013

A great article over at Gamasutra outlines a toy 3D engine that uses a spreadsheet to do the calculations. Instead of the imperative approach, this “engine” is more functional-reactive. As mentioned in our post on Reactive.js the other day, Excel serves as a good metaphor when starting to grok functional reactive programming.

Reactive.js: Functional Reactive Programming in Javascript

April 09, 2013

Reactive.js is a pure Javascript library inspired by Functional Reactive Programming. If you’ve ever used Excel or another spreadsheet program, you’ve already done something like FRP. Reactive.js aims to bring FRP to Javascript by augmenting Javascript functions, allowing you to declare data flows in your code by representing your values as reactive functions that depend on… Read more

Not too late to sign up for Odersky’s Scala Coursera class

April 02, 2013

Just a quick note if you haven’t seen it. Martin Odersky is teaching a Coursera class Functional Programming Principles in Scala. On the backend we’ve been experimenting with how we can use Scala more easily in our 99% Java project, and apparently we’ve been talking about it enough that Matt Baker decided this was a… Read more