[comp.lang.lisp] package question

binger@p.cs.uiuc.edu (03/02/89)

In Common Lisp, what is the best way to refer to symbols 
in a package which does not exist at load-time?

palexand@Intrepid.ece.ukans.edu (Perry Alexander) (03/04/89)

In article <80300009@p.cs.uiuc.edu> binger@p.cs.uiuc.edu writes:
>
>
>In Common Lisp, what is the best way to refer to symbols 
>in a package which does not exist at load-time?

I don't think that this is legal.  Under VAXLisp, to refer to a symbol in
an external package requires the external package to exist at load time.

- Perry
(alexander@tisl.af.mil)

barmar@think.COM (Barry Margolin) (03/05/89)

In article <80300009@p.cs.uiuc.edu> binger@p.cs.uiuc.edu writes:
>In Common Lisp, what is the best way to refer to symbols 
>in a package which does not exist at load-time?

(find-symbol "symbol-name" "package-name")

For instance, if you want to call the function PACKAGE::NAME, you can do:

(funcall (find-symbol "name" "package") args...)

If you want to access it as a variable, you can do:

(symbol-value (find-symbol "name" "package"))

Barry Margolin
Thinking Machines Corp.

barmar@think.com
{uunet,harvard}!think!barmar

sandra%defun.utah.edu@wasatch.UUCP (Sandra J Loosemore) (03/07/89)

In article <36977@think.UUCP> barmar@wotan.think.com.UUCP (Barry Margolin) 
writes:

>(find-symbol "symbol-name" "package-name")

This is almost correct.  Some Common Lisp implementations (notably,
HPCL-I) require the "package" argument to FIND-SYMBOL to be a package
and won't accept a package name.  If you really want to be portable,
say

(find-symbol "symbol-name" (find-package "package-name"))

-Sandra Loosemore (sandra@cs.utah.edu)

brock@tuvie (Inst.f.Prakt.Info 1802) (04/21/89)

<I tried to post this already, but I missed>
Hi
I have a question or two to experienced Lisp/Scheme programmers about the
package mechanism. 
1.) Are packages an acceptable equivalent to modules in conv. programming lang.?
2.) Do you use them for all of Your code?
3.) Are there any common problems programmers normally have when beginning 
using packages?
(perhaps some of you holding courses may answer this)
4.) How do you handle I/O?
5.) Do there exists alternatives to packages. (Well OO-extensions, but are
there also simpler alternatives?)

Please answer directly to me, I'll post a summary to comp.lang.lisp. 
Thanks in advance

Ulrich
(ulrich@vip.at  UUCP: ...!mcvax!tuvie!vip!ulrich)