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
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
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
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? ![]()
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.
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:
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.
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