Newsgroups: comp.lang.prolog
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!pipex!uunet!allegra!alice!pereira
From: pereira@alta.research.att.com (Fernando Pereira)
Subject: Re: Why hasn't Prolog Taken over the World?
In-Reply-To: puget@corvisart.ilog.fr's message of Wed, 23 Nov 94 09:01:05 GMT
Message-ID: <PEREIRA.94Nov23214905@alta.research.att.com>
Sender: usenet@research.att.com (netnews <9149-80593> 0112740)
Nntp-Posting-Host: alta.research.att.com
Reply-To: pereira@research.att.com
Organization: AT&T Bell Laboratories
References: <3a6lf4$mk5@mozo.cc.purdue.edu> <3aal5c$b4d@ra.nrl.navy.mil>
	<citrin-1511941431140001@ecemac-citrin.colorado.edu>
	<D91A1BO.94Nov16141507@Ankara.meryl.csd.uu.se>
	<citrin-1611940810340001@saas-fee.cs.colorado.edu> <3atq9b$550@deneb>
	<1994Nov23.090105.7124@ilog.fr>
Date: Thu, 24 Nov 1994 02:49:04 GMT
Lines: 28

In article <1994Nov23.090105.7124@ilog.fr> puget@corvisart.ilog.fr (Jean-Francois Puget) writes:
   In article <3atq9b$550@deneb>, egh@mda.ca (Eric Hawthorne) writes:
> |> Personally, I don't care whether my type error shows up at 
> |> run-time or compile time. It's all the same to me if I have
> |> an effective debugging environment.
> There is an important difference between detecting a given type of error at run
> time or at compile time. In the latter case, all errors are detected when you 
> compile. In the former case, you detect only the errors that happen in
> executed code. Thus it is very likely that you will miss some, unless you have
> an exhaustive set of test cases.
Exactly. Or put more harshly: with compile-time type checking, you
find the error. With runtime type-checking (or no type-checking) your
customers do. I don't need to elaborate on which one is better for
your reputation and for development costs ove the program's lifetime.

As for the standard counterargument "I'm writing this for myself
only". Most programs worth writing are worth sharing with others, or
at least keeping for one's own use later. Thus every program worth
writing has customers, if only oneself later on, when the details of
the program's innards have been forgotten and thus fixing the runtime
error becomes much more expensive.

--
Fernando Pereira
2D-447, AT&T Bell Laboratories
600 Mountain Ave, PO Box 636
Murray Hill, NJ 07974-0636
pereira@research.att.com
