Typed languages (was Re: Cross-ontologies reasoning)

  [Graham Klyne]
> I don't know if this is a useful perspective, but I've noticed that code 
> sharing seems to be much easier when programming in Haskell compared with 
> (say) Java or C.  I find I can generally pick up third-party functions and 
> just use them, more easily than with more conventional programming languages.
> 
> I can imagine two possible contributors to this effect:
  ...
> (b) the type system (being highly polymorphic, having much in common with 
> ML and friends) permits, even encourages, typing details that are not 
> relevant to some function to be left unspecified.
> 
> I'm not sure if this has anything to say about ontology sharing.  Maybe 
> that reducing assumptions made by any given ontology makes it easier to 
> share?  (Hmmm... that sounds almost obvious.)

The conclusion I would draw is that typed languages are a good thing,
for a variety of reasons:

(a) They make syntax checking possible.  In KIF and Prolog, there is
virtually nothing to check.  (I'm not sure exactly what I'm checking
when I check an RDF/OWL file, but besides verifying that I never said
'&foo;' when any idiot can see I meant 'foo:', I suppose I'm verifying
that a property is not used on an object outside its domain, which is
at least close to type checking.)

(b) They make it clearer how the different symbols in an ontology fit
together.

(c) They make it possible to construct higher-order terms (lambda
abstractions) in a disciplined way that is not prone to paradox.

-- 
                                   -- Drew McDermott
                                      Yale Computer Science Department

Received on Wednesday, 24 December 2003 22:56:37 UTC