Today's chase for the source of

   define-compound-unit/infer: untagged initialization dependent
   signature mred^ is supplied from a later unit with link temp4

cost me an hour of my time when a few seconds of common sense would have sufficed. I don't have such hours to waste.

;; ---

LESSON 1: When I gave the POPL keynote a few years ago about our project, every single part of the talk had a single lesson:

      **************************
      * ERROR MESSAGES MATTER. *
      **************************

I just can't see how the above error message would point anyone to this specification

(define-values/invoke-unit/infer
  (export graphics^)
  (link standard-mred@ graphics-posn-less@))

on line 15 of big-draw.ss. The name of the construct is different from that in the error message. And the message itself is gobbldedygook.

;; ---

LESSON 2: People recently (27 Mar 2009) changed (see svn log, svn blame) these lines, and didn't even both to run the file as they did.

      *********************************
      * WHEN YOU EDIT A FILE, RUN IT. *
      *********************************

It takes a cmd-t or a click-run and it evaluates in 3 seconds. Doing so would have revealed the bug. 3 SECONDS, 1 HOUR.

;; ---

LESSON 3: When you do synthesize such language constructs, put the effort in to get them right. A simple topological sort would probably avoid all this nonsense.

;; ---

Guys, this shop is not the federal government. We can't afford this sloppiness -- Matthias





_________________________________________________
 For list-related administrative tasks:
 http://list.cs.brown.edu/mailman/listinfo/plt-dev

Reply via email to