Partiality *

Controversial? Perhaps; Opinionated? Certainly.

They are two different pairs of shoes. One is about application and the other is an inherent property of the definition.
Partial application or a partially applied function, is a function that is in the middle of being applied to its parameters and hence in some form incomplete. A partial function on the other hand is a a function that is not total i.e partial. What's a total function? We go into the details below.

Links to talks and other things.
The talks are listed in a reverse chronological order.

`f :: Int→Int→Int`, f is a function that takes two `Int`s and returns an `Int`, that’s the short story.
Reading type signatures is the first step to understanding what a function does or how a complex program is composed together. It took me some time to get my head around them and I have seen people struggle with them, especially developers coming from dynamic languages. Even for developers from strongly typed languages like Java they are alien. The text makes them more accessible. My recommendation would be to plough through it without accessing the references in footnotes and then re-read it more slowly with references. If something is still unclear or could be improved - do reach out (@ppurang).

Derived from [Coco]( and very like [CoffeeScript]( Even comes with it's own prelude.
[LiveScript]( and its related []( aren't exactly [Roy]( or [PureScript]( but do bring in much needed Haskell flavour to JavaScript. No strong static types here; just some syntax, like currying, pattern matching etc., to mitigate some of the pain and boilerplate in the Javascript land.

Life is more partial than total - depending on which coloured glasses one has on.
This blog is about fondness for certain topics. It isn't about prejudices, discrimination or unfairness. Another take is through the eyes of partial functions: despite due-diligence there might be certain aspects that one misses when putting an argument across the table i.e. your take on a subject is partial and not complete.

Dreamt about writing the software and assembling the system behind a blog. Shows how even private projects change spectacularly with changing requirements.
Owning a blog at a blogging platform or rolling out Wordpress or something alike is easy. They have their pros and cons but there are, indeed, some very mature systems with a lot of bells and whistles available. But **none** can boast of the pain and joy creating your own software brings with it. I wanted to eat my own dog food – after all, I am a software engineer. The creativity, the decision making, the struggles to implement the vision at the micro and macro level, and other nitty-gritties spice up the adventure. Yes, I looked for adventure and boy did I find it. In the beginning it started off as a bad ass, all inclusive, blog. Today it is a much simpler and possibly a sweeter place.

Father, Husband, Son, Brother, Engineer, Organizer, Cricket Player are some of the important roles I play.
Welcome to my blog. Hope you find content that triggers your Grey cells. I have been building software, teams and products for over 15 years. Some of that experience seeps into the entries here. Combine that with my desire to always be at the forefront of tech changes, fads and buzzwords and you get an interesting mixture.

Personal blog: written in my spare time and maintained at my expense.
Though I may occasionally talk about issues that touch on my work, this is not a corporate blog and the opinions and ideas expressed here are mine, and should not be confused with, or taken for, those of my employers: present, past or future.