Blogspot - debasishg.blogspot.com - Ruminations of a Programmer
General Information:
Latest News:
Scala Redis client goes non blocking : uses Akka IO 24 Jul 2013 | 09:37 am
scala-redis is getting a new non blocking version based on a kernel implemented with the new Akka IO. The result is that all APIs are non blocking and return a Future. We are trying to keep the API as...
The Realm of Racket is an enjoyable read 22 Jul 2013 | 10:44 am
There are many ways to write a programming language book. You can start introducing the syntax and semantics of the language in a naturally comprehensible sequence of complexity and usage. Or you can ...
Endo is the new fluent API 3 Jun 2013 | 11:40 am
I tweeted this over the weekend .. a good title for a possible blog post .. endo is the new fluent API .. — Debasish Ghosh (@debasishg) June 1, 2013 My last two blog posts have been about endomorph...
An exercise in Refactoring - Playing around with Monoids and Endomorphisms 4 Mar 2013 | 10:30 am
A language is powerful when it offers sufficient building blocks for library design and adequate syntactic sugar that helps build expressive syntax on top of the lower level APIs that the library publ...
A DSL with an Endo - monoids for free 15 Feb 2013 | 05:05 pm
When we design a domain model, one of the issues that we care about is abstraction of implementation from the user level API. Besides making the published contract simple, this also decouples the impl...
Modular Abstractions in Scala with Cakes and Path Dependent Types 1 Feb 2013 | 11:57 am
I have been trying out various options of implementing the Cake pattern in Scala, considered to be one of the many ways of doing dependency injection without using any additional framework. There are ...
A language and its interpretation - Learning free monads 14 Jan 2013 | 02:50 pm
I have been playing around with free monads of late and finding them more and more useful in implementing separation of concerns between pure data and its interpretation. Monads generally don't compos...
strict : recursion :: non-strict : co-recursion 3 Jan 2013 | 10:36 am
Consider the very popular algorithm that uses a tail recursive call to implement a map over a List. Here's the implementation in F# Scala is also a statically typed functional programming language, t...
The Best of 2012 - Looking Back 29 Dec 2012 | 12:01 am
The year 2012 was a bit different for me in terms of readings and enlightenment. While once again Scala proved to be the most dominant language that I used throughout the year, I also had some serious...
Towards better refactoring support in IDEs for functional programming 1 Oct 2012 | 11:03 am
A couple of days back I was thinking how we could improve the state of IDEs and let them give rich feedbacks to users focusing on code improvement and refactoring. When you write Java programs, Intell...