Posts categorized as: functional-programming

making java groovier with lambdaj

Published by Matt Stine

I spent the better part of yesterday tracing my way through the codebase for a large-scale enterprise application that my team is building right now, and I happened upon the following piece of code: //...imports excluded for clarity public class BusinessActivityBinMetaClassHelper { //... public static List<Long> getSrmMetaClassIdListJava(List<BusinessActivityBinMetaClass> businessActivityBinMetaClassList) { List<Long> srmMetaClassIdList = new ArrayList<Long?(); if(businessActivityBinMetaClassList != null) { for(BusinessActivityBinMetaClass businessActivityBinMetaClass : businessActivityBinMetaClassList) { if(businessActivityBinMetaClass.getSrmMetaClass() != null && businessActivityBinMetaClass.getSrmMetaClass().getSrmMetaClassId() != null) { srmMetaClassIdList.

functional programming blog aggregator in the works

Published by Matt Stine

So I’m in the midst of planning my next toy project, specifically with an aim to build something for the cloud, be it Google App Engine, Mor.ph, EC2, etc. (that part is still up for grabs). What I’d like to do is an opt-in blog aggregation site focused around functional programming. It would be very similar to what Glen Smith has done with groovyblogs.org. Groovyblogs is currently my number one referral site and is generating about 20% of the traffic for this blog.

joels builderbuilder in groovy

Published by Matt Stine

Joel Neely started a series of posts over the weekend detailing a proposed exploration of what Functional Programming means “to me as a practicing OO software developer?” The task at hand is to look at the generation of Data Transfer Objects which include a static inner class that functions as a builder. Since I’m exploring both Clojure and Scala right now, Joel has asked me to play along. After reading the task definition today, I couldn’t resist taking a crack at the problem in Groovy, especially since tackling a Builder DSL is not something I’ve gone after before.