muhuk's blog

Nature, to Be Commanded, Must Be Obeyed

November 24, 2015

In Defense of the Obvious - Part 1

Sometimes the most important insights about things that may go wrong are obvious. As in you know the other party can (and should) easily deduce them. Sometimes these are the hardest things to communicate. And if you fail to communicate these obvious issues, guess who will bear the blame when they occur?


November 10, 2015

Infinite Sequences in Clojure

I consider infitine sequences to be one of the building blocks of functional programming. Though not a fundamental one like first class functions, immutability or laziness. Actually infinite sequences are derived from laziness. All infinite sequences are lazy, but not all lazy sequences are infinite. For example (map inc coll) returns a lazy sequence, regardless of coll being infinite or not.

This post is written with newbies in mind. If you are Clojure guru you will probably not learn anything new.


November 01, 2015

Completely Fair and Democratic Elections in Turkey

Elections in Turkey

There is a lot to be said, but I’ll try to stick to the facts:


October 07, 2015

Is Clecs Dead?

My last commit to clecs repository was six months ago. It was nowhere near complete by then, I suppose it wouldn’t be unfair to think I have abandoned the project. I have not completely given up clecs, but I don’t have the motivation.

I have asked two questions about clecs a year ago:


October 01, 2015

Who in Their Right Mind Would Use Monads in Clojure?

It is a well known fact that any respectable programmer with a blog must write a tutorial on monads. And it must start with functors and build its way up to monads. I will let respectable programmers worry about this. This is not a tutorial on monads.

This is not about how to use monads in Clojure either. Also this is not some static typing versus dynamic typing comparison/flamewar. I think they both have strengths and weaknesses and neither of them is superior to the other in all areas. I reserve the right to change my opinion in favor of statically typed languages in the future.

TL;DR; You might find monads helpful in expressing large computations even in a dynamic context.