Tuesday 29 May 2012

Rework: Monads in Scala - 2

During previous session we captured in mind 3 transformations/conversions. While moving out from mathematical pressure we just got 3 simple formulas:


a) (A => B ) => (M[A] => M[B]) // Monad
b) (A => M[B] ) => (M[A] => M[B]) //Functor
c) (M [A => B]) => (M[A] => M[B]) //Applicative


As an implementation we've chosen functional way:

a) Func(A => B) : M[A] => M[B] // Monad
b) Func(A => Box[B]) : Box[A] => Box[B] //Functor
c) Func(Box[A => B]) : Box[A] => Box[B] //Applicative



Monday 28 May 2012

Rework: Monads in Scala - 1


I have to spend more time than other (smart guys) trying to get simple topics. As a profit - getting clean description for myself - using simple (clean for non math geek) vision. I've read hundred of articles/examples/... + done few presentations on the same topic. Just want to finalize it and forget:)

As a conclusion generalization of my previous self-study experience I would kindly ask James Iry:
Usually articles that start with words like "monad" and "functor" quickly devolve into soup of Greek letters. That's because both are abstract concepts in a branch of mathematics called category theory and explaining them completely is a mathematical exercise.
JAMES IRY


But there must be possibility to avoid complexity, to allow understanding the topic while reading in the bus or 3 minutes before falling asleep. U r welcome to the world of Monads in Scala.



Monads in Scala

Preparing for the next Monads round,

going to present again Monads in Scala Session, reviewed current presentation state, looks very ugly for me, let's start rework. Previous version is here:
http://www.slideshare.net/stasimus/introduction-to-monads-in-scala-1
http://www.slideshare.net/stasimus/introduction-to-monads-in-scala-2

Saturday 26 May 2012

Grails + neo4j

During HDD clean up I found old presentation, was made for JUGL : neo4j + Grails as a outcome from start up project was quite interesting topic for me in the past, defiantly still following communities of Graph DBs, especially Neo4j.

When the technical debt becoming a life style)

Starting Blog with stolen picture, hope it isn't about me, I'm just lazy and love Scala.