From: Marco Antoniotti
Subject: Re: Survey
Date: 
Message-ID: <MARCOXA.93Dec15142319@anihccam.cs.nyu.edu>
In article <···················@liasg3.epfl.ch> ·····@lia.di.epfl.ch (Simon Leinen) writes:


   From: ·····@lia.di.epfl.ch (Simon Leinen)
   Newsgroups: comp.lang.lisp


   Because symbols don't have such types.
   Variables have types, functions have types, classes have also types.
   Packages don't deal with variables, functions or classes, but with
	...

   In the meantime, you have to say:

	   (defpackage ZUT ...
		   (:export
			   a-symbol
			   foo
			   bar
			   zut
			   ...)...)
	   (declaim (type fixnum bar)
		    (ftype (function (fixnum a-type &optional vector)
				     (or nil t)) zut))

	...

What you say is correct, but I sincerely do not understand what is
different in practical terms from my proposal. 'defpackage' is a
"linguistic" construct and it was introduced for exactly "linguistic"
purposes, moreover with the recommendation that it should
"pragmatically" reside in a separate file.

Sticking the 'declaim' at the end of the '-package' file is what I do
now. I must be missing something, but I still do not see what is so
upsetting in my proposal.

sincerely
--
Marco Antoniotti
-------------------------------------------------------------------------------
Robotics Lab		| room: 1219 - tel. #: (212) 998 3370
Courant Institute NYU	| e-mail: ·······@cs.nyu.edu

...e` la semplicita` che e` difficile a farsi.
...it is simplicity that is difficult to make.
				Bertholdt Brecht
From: Simon Leinen
Subject: Re: Survey
Date: 
Message-ID: <SIMON.93Dec16131246@liasg3.epfl.ch>
Marco> Sticking the 'declaim' at the end of the '-package' file is
Marco> what I do now. I must be missing something, but I still do not
Marco> see what is so upsetting in my proposal.

Ok.  I think that DEFPACKAGE should continue to deal with the
name-to-symbol mapping (packages) only.  Variables, functions, macros
and types have almost nothing to do with packages.  Including such
declarations in DEFPACKAGE would lead programmers to the (wrong)
conclusion that packages somehow export specific variables, functions,
macros or types, while in reality they export simply the names (with
all definitions that happen to be bound to them).

In my experience with people who try to use packages, the basic
problem is that their idea of what packages do is too complicated.
IMHO your suggestion would make this worse.  That's why I find it
neater to keep the declamations separate from the package definition.

With kind regards,
-- 
Simon.