Re: declaredAs

>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.

And if y'all did that "metamodelling" properly, instead of treating 
it as punning, there would also be no need, since nothing would be an 
error. But I won't beat that drum any more here.

>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).

I guess what I don't see is why these have to be syntactically 
distinct from assertions, though. After all, we have here a language 
whose business is saying that things belong in classes. And what we 
want to say here is... well, you get the point. Why not just have a 
special class of classes called "isADeclarationClass", which when 
asserted of a class means that saying that something is in that class 
is a declaration. Then your declaration classes can be my ordinary 
classes, which gives us a lot of flexibility, and avoids a kind of 
global ossification into a single built-in hierarchy.

Pat

>It's not exact, but I hope it helps.
>
>Cheers,
>Bijan.


-- 
---------------------------------------------------------------------
IHMC		(850)434 8903 or (650)494 3973   home
40 South Alcaniz St.	(850)202 4416   office
Pensacola			(850)202 4440   fax
FL 32502			(850)291 0667    cell
phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes

Received on Tuesday, 7 August 2007 17:43:05 UTC