[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Issue: DEFPACKAGE (version 3)



re: I should have said "the way a symbol is printed".  In a programming
    environment in which the users program passes through READ and PRINT
    this is an issue.  Given that package is bound to some package FOO which
    only uses LISP, this form:

      (import 'pcl::class-direct-slots)

    Once I read this form, it will print out as:

      (IMPORT 'CLASS-DIRECT-SLOTS)

    So that when I load it again in a fresh world, I won't get the result
    I got the first time.


This is precisely one of the situations that I've been referring to
when I argue for the removal of the :IMPORT option.  Note however,
that the revised proposal does *not* have this misfeature even if
you use _symbols_ in the :IMPORT-FROM option.  That's the whole point
of it.  [Yes, your structure editor might package-qualify one such
symbol differently, if PRINTed at the "wrong" times, but that will be 
completely irrelevant.]

You did mention before that you found the documentation about the 
symbols-vs-strings as arguments somewhat unclear, so maybe this
point didn't get through.  Wanna suggest some re-wordings?


-- JonL --



P.S. By the bye, are you aware of the existence of the Decency in Packaging
     League, which will slap you with a citation for writing code like:

	(import 'pcl::class-direct-slots)

     rather than:

	(import (intern "CLASS-DIRECT-SLOTS" "PCL"))