- From: Bijan Parsia <bparsia@cs.man.ac.uk>
- Date: Tue, 7 Aug 2007 17:28:36 +0100
- To: Bijan Parsia <bparsia@cs.man.ac.uk>
- Cc: "Michael Schneider" <m_schnei@gmx.de>, bmotik@cs.man.ac.uk, public-owl-dev@w3.org
Just to be clear, the distinction I made (typing and declarations, i.e., use/resource kind and intended resource kind) has been made several times in this thread, usually by Boris. However, it seemed to me that Michael confused them, or at least didn't seem to notice the second and its uses. Perhaps this is an artifact of the "typo" example. Also, it's important to reiterate that if we disallowed metamodeling (e.g., punning) and required a fully separated vocabulary, then there is much less need for representing the "intended" resource kind distinct from its use since *any* "duel use" (e.g., class and property) will show up as a syntax error. We don't want to forbid metamodelling, and we could still only work with use types (how you use it is what it is). But then we can't express various sensible bits of advice about the intended nature of terms. The goldilocks solution is to allow the expression of things in between by means of some sort of annotation or description. The situation is a bit like typing in programming languages. If you required declarations (and implicit typing everywhere) then you have Java and the like (mainifestly typed languages). If you are completely use-typed, you have languages like Smalltalk or Python. If you goldilocks it, then you have languages like ML or Haskell or perhaps common lisp, where you don't need to put type declarations everywhere, but when you do they make a difference (esp. to the type inference; i.e., you can get clashes). It's not exact, but I hope it helps. Cheers, Bijan.
Received on Tuesday, 7 August 2007 16:27:23 UTC