Archive for February, 2008

Scalaz 2.4 Released

Friday, February 29th, 2008


Scalaz 2.4 has been released and includes some significant updates.

Scalaz API Specification
Scalaz Demonstration Code
Scalaz Source
Scalaz Specification Tests
Scalaz Home Page
Scalaz Change List

Download Scalaz 2.4 Release

Christopher Hitchens: The Moral Necessity of Atheism

Wednesday, February 27th, 2008

Part 1 of 8

Part 2 of 8

Part 3 of 8

Part 4 of 8

Part 5 of 8

Part 6 of 8

Part 7 of 8

Part 8 of 8

That’s what Monads are for

Monday, February 25th, 2008


After a heavy weekend of squash, my Magnesium and Zinc depleted body in all its tiredness offers the following universal law of pseudo-scientific claims for analysis:

If someone claims that the concept of Monads (a computation model offered by Category Theory) are for side-effects, then you can be absolutely certain that the person making the claim has absolutely no idea what Monads are for. Not even the slightest. You should consider their credibility on the topic to be absolutely zero.

Comments? Does this count as the ever common Monad Tutorial? :)

So I don’t lose it

Monday, February 18th, 2008

Took me a while to recall the right keywords to come up with this excellent interview between a representative of the Canadian Government and Ezra Levant.

The argument from oranges

Sunday, February 17th, 2008


There are few things more amusing than listening to a theist coming to terms with the Theory of Evolution. As is often the case, there is either complete ignorance (and if honest, an admission to this extent) or an attempt to unify the fact with the dogma.

But this one is in a category of its own and had me laughing hours afterward:

Great Quote Slava

Thursday, February 7th, 2008


Referring to this, er typical piece of er, collection of “thoughts” (I’m being nice so as not to distract from the great quote) with emphasis on a quote from this piece.

Referring to Java closures (sigh can we just use Scala yet? please?):

Extra verbosity makes sure that the code guides me along its intended path

Slava Pestov responds in his typically brilliant fashion:

He’s absolutely right. Closures have no place in a low-level procedural language whose target audience consists of programmers unwilling to learn to be productive.

So true Slava, so true.

It’s just logic

Friday, February 1st, 2008

Don't do this
Do this

conjunction (∧)

if(p) q else false 
p && q 
p ∧ q

conditional/implication (→)

if(p) q else true 
!p || q 
¬p ∨ q

negation of conditional/implication

if(p) !q else false
p && !q
p ∧ ¬q

negation of conjunction

if(p) !q else true 
!p || !q 
¬p ∨ ¬q

disjunction (∨)

if(p) true else q 
p || q 
p ∨ q

negation of inverse conditional/implication

if(p) false else q 
!p && q 
¬p ∧ q

inverse conditional/implication

if(p) true else !q 
p || !q 
p ∨ ¬q

negation of disjunction

if(p) false else !q 
!p && !q 
¬p ∧ ¬q

if(p) true else false
p 
if(p) false else true 
!p