March 31st, 2004

robin, anime, oops, fuck

On April Fools' Day.

Well, it seems that a lot of people don't like this day...

I, for one, do. I come from a group of people where large, elaborate April Fools' jokes are the norm. But in that group, these large, elaborate jokes are universally considered hilarious. They're almost always extremely silly, but they're just realistic enough for you to go "wtf?" for a second before you glance at a calendar and start laughing your head off.

So, here's my announcement: I will be playing one joke tomorrow on the Perl community. I (and a collaborator) will be playing a second joke on the MT community. Neither of these will be mean-spirited, and most people will think they're funny. A few people will probably think they're stupid or annoying, but that's okay. Nobody will feel hurt, unless they're impossibly oversensitive.

So, two jokes tomorrow. Not one, not three, not thirty. I won't even be playing the MT joke directly, so I'm safe to talk to.

Now, to prepare my jokes... *cackles manically*
  • Current Music
    Audioslave - Exploder
amused, silly, ha ha only serious

(no subject)

Piers Cawley on perl6-internals:
Well, I ported the following Scheme code to PIR. (The PIR is appended to this message...
  ;;; Indicate that the computation has failed, and that the program
  ;;; should try another path.  We rebind this variable as needed.
  (define fail
    (lambda () (error "Program failed")))
  
  ;;; Choose an arbitrary value and return it, with backtracking.
  ;;; You are not expected to understand this.
  (define (choose . all-choices)
    (let ((old-fail fail))
      (call-with-current-continuation
       (lambda (continuation)
         (define (try choices)
           (if (null? choices)
               (begin
                 (set! fail old-fail)
                 (fail))
               (begin
                 (set! fail
                      (lambda () (continuation (try (cdr choices)))))
                 (car choices))))
         (try all-choices)))))
  
  ;;; Find two numbers with a product of 15.
  (let ((x (choose 1 3 5))
        (y (choose 1 5 9)))
    (for-each display `("Trying " ,x " and " ,y #\newline))
    (unless (= (* x y) 15)
      (fail))
    (for-each display `("Found " ,x " * " ,y " = 15" #\newline)))
Which (as anyone can plainly see) implements a non deterministic search (and something like it could come in handy when implementing Perl 6 Junctions).
I was on the floor laughing.
  • Current Mood
    amused amused