I just had one, reading SICP, looking at the coins code. I'd never really properly looked into it and thought it was kind of complex, but I just spent 15 minutes examining the code and I got it! Tackling an iterative version will be interesting.
ITT your last “aha!” moment
Note: if you don't remember when your last “aha!” moment was, perhaps you need to read SICP. (Or just consider that you really should.)
Name:
Anonymous2008-04-25 16:28
Understanding where the "We conjure the spirits" line was from.
Never gonna give you a nigger a is i is an i is me you are god.
Name:
Anonymous2008-04-25 18:19
When I figured out how [i]QuickCheck[i] used type classes to basically recursively pattern match (at the type level) on function signatures to feed functions arbitrary (or should I say, Arbitrary) arguments. Its a technique I've since used to bind (in the sense of scripting languages) Haskell functions to work with my Lisp interpreter.
Almost all of my "AHA" moments are during debugging, when there's an obscure error and I'm bashing my brain on the desk trying to figure out where it's originating from. This is probably due to rather poor language choices on my part though.