<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.6" -->
<rss version="0.92">
<channel>
	<title>λ Tony’s blog λ</title>
	<link>http://blog.tmorris.net</link>
	<description>The weblog of Tony Morris</description>
	<lastBuildDate>Wed, 10 Mar 2010 02:36:21 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>What Really Happened</title>
		<description>
28 July 2007 Ankle inversion sprain resulting in entrapment neuropathy of the superficial peroneal nerve 10 cm proximal to lateral malleolus. Continued athletic activity causes minor avulsions at the nerve root (L5/S1).
15 September 2008 Surgical ligament repair, inadvertently putting further traction on the trapped superficial peroneal nerve. Avulsion of the ...</description>
		<link>http://blog.tmorris.net/what-really-happened/</link>
			</item>
	<item>
		<title>Why are there no big applications written using functional languages?</title>
		<description>Because there is no such thing as a big application. There is only bigger or smaller. This is a central tenet of functional programming. "Big application" is a euphemism for "My idea of programming does not scale beyond this point." You don't realise how much information you give away when ...</description>
		<link>http://blog.tmorris.net/why-are-there-no-big-applications-written-using-functional-languages/</link>
			</item>
	<item>
		<title>Understanding Haskell interact</title>
		<description>There is a function in Haskell's standard library called interact. It has this type interact :: (String -> String) -> IO ().

Here is the same function in Java:


import java.io.Console;

interface Stringer {
  String convertString(String s);
}

class Interact {
  // interact :: (String -> String) -> IO ()
  static void ...</description>
		<link>http://blog.tmorris.net/understanding-haskell-interact/</link>
			</item>
	<item>
		<title>Linq has nothing to do with SQL or enumerable lists</title>
		<description>There seems to be quite a lot of misunderstanding of Linq. I am not sure how widespread this misunderstanding is, but if I can be persuaded that my selection sample extrapolates accurately, I might consider expanding on this fact:


Linq has nothing to do with SQL or enumerable lists. Nothing and ...</description>
		<link>http://blog.tmorris.net/linq-has-nothing-to-do-with-sql-or-enumerable-lists/</link>
			</item>
	<item>
		<title>SKI combinator calculus in Java</title>
		<description>
interface Lam {
  Y apply(X x);
}

// http://en.wikipedia.org/wiki/SKI_combinator_calculus
class SKI {
  public static  Lam s() {
    return new Lam() {
      public Lam apply(final Lam f) {
        return new Lam() {
     ...</description>
		<link>http://blog.tmorris.net/ski-combinator-calculus-in-java/</link>
			</item>
	<item>
		<title>Scala exercise</title>
		<description>A result of a discussion in the #scala IRC channel.

Write a minimum function that works on Array[String] and List[Int]. (see error("todo"))


trait Foldable[-F[_]] {
  def foldl[A, B](f: (A, B) => A, a: A, as: F[B]): A

  def reducel[A](f: (A, A) => A, as: F[A]): Option[A] = foldl[Option[A], A]((a1, a2) ...</description>
		<link>http://blog.tmorris.net/scala-exercise/</link>
			</item>
	<item>
		<title>Functional Java 2.21</title>
		<description>Includes a number of bug fixes and an immutable 2-3 finger tree for sequences supporting access to the ends in amortized O(1) time.  </description>
		<link>http://blog.tmorris.net/functional-java-221/</link>
			</item>
	<item>
		<title>Higher-order Polymorphism for pseudo-Java</title>
		<description>
// Simulate Higher-Order Functions.
// A lambda function is any implementation of this interface.
interface Lambda {
  Y apply(X x);
}

// What is a covariant functor?
// It is any implementation of this interface.
// All implementations must also satisfy:
//   * The law of identity
//   * The law of composition
// ...</description>
		<link>http://blog.tmorris.net/higher-order-polymorphism-for-pseudo-java/</link>
			</item>
	<item>
		<title>MSN/Yahoo! web spiders blocked</title>
		<description>I have blocked the msnbot and yahoo! web spiders from indexing this site (and all others at this IP address). They choke up the network with distributed multiple connections. Pretty silly/primitive technique of indexing a web site. </description>
		<link>http://blog.tmorris.net/msnyahoo-web-spiders-blocked/</link>
			</item>
	<item>
		<title>What is Haskell&#8217;s primary feature?</title>
		<description>Today I was asked what Haskell's main feature is. The answer is its non-strict evaluation.

Java is a strictly evaluated language. Consider this Java program:

class C {
  static String i() {
    throw new Error("boo!");
  }

  static  int f(A a) {
    return ...</description>
		<link>http://blog.tmorris.net/what-is-haskells-primary-feature/</link>
			</item>
</channel>
</rss>
