You Could Have Invented Monads! (And Maybe You Already Have.)
A more permanent version of this article is stored at GitHub . Please link to that rather than to here. If you hadn't guessed, this is about...
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 25 posts.
A more permanent version of this article is stored at GitHub . Please link to that rather than to here. If you hadn't guessed, this is about...
I recently posted an entry in my Python History blog on the origins of Python's functional features . A side remark about not supporting ta...
Why's (Poignant) Guide to Ruby, from Why's (Poignant) Guide to Ruby by _why the lucky stiff. CC BY-SA 2.5.
This PEP introduces generator expressions as a high performance, memory efficient generalization of list comprehensions PEP 202 and generators PEP 255.
Another enjoyable read. Thanks! One thing, though -- it's about time to update your understandings of Python's object system. Python's culture doesn't insist that traditional (Smalltalkish) OO is the One True Way to re-use code, but that doesn't mean that everything in Python is not an object (because they are, since…
A lot of people remarked that in my post on Tail Recursion Elimination I confused tail self-recursion with other tail calls, which proper T...
(These are some notes I made for a panel discussion on programming language design at MIT on May 10, 2001.) 1. Programming Languages Are for People. Programming languages are how people talk to computers. The computer would be just as happy speaking any language that was unambiguous. The reason we have high level…
Python Enhancement Proposals (PEPs)
Customers and stakeholders have substantial investments in, and are comfortable with the performance, security and stability of, industry-standard platforms like the JVM. While Java developers may envy the succinctness, flexibility and productivity of dynamic languages, they have concerns about running on…
Don't get me wrong - I've written tons of Java over the last decade or so & think its been a great evolutionary step from C++ and Smalltalk ...
In November 2001 I gave an invited talk at the inaugural Lightweight Languages conference that has since become somewhat notorious (in netspace, it is said to be “ kickassing genial ”).
A favorite conundrum of many Lisp aficionados is why the language appears to languish in disuse. Talk of cultural problems , "the library question" (which usually boils down to nonsensical circular reasoning), too many parentheses, and other absurdities simply dances around the blindingly obvious explanation - one…
It’s said that every Haskell programmer writes their own monad tutorial, and with good reason: once you finally understand the definition and capabilities of a monad, you’ll be eager to…