This doubt is with respect to CMUCL.
I am trying to access a external symbol from the multiprocessing
package.
Following is the thing I am trying to do :
* (describe (find-package "MP"))
I get the correct output. Now I do the following :
* (describe 'mp:make-process)
this fails :
error is ==> MAKE-PROCESS is an external symbol in the
MULTIPROCESSING
package.
However , I tried to look at the same thing on google and found one of
the
links mentioning abt the exact 2 operations, that I am doing above and
they can
successfully execute it. Do you know what might be the problem. How
can I
make this "make-process" function work. I am sure this exists in the
MP
package in CMUCL and the error says it is an external symbol. The
steele
book says the correct way to access a external symbol is with a ":".
Does this problem have to do anything with the loading of the package,
or installing the MP package during the installation of CMUCL
Thanks in advance,
Amit
········@cs.orst.edu (amit phalgune) writes:
> * (describe (find-package "MP"))
>
> I get the correct output.
The output should include:
%NAME: "MULTIPROCESSING".
%NICKNAMES: ("MP").
i.e., the package is really called MULTIPROCESSING, and MP is
just a nickname that refers to it.
> * (describe 'mp:make-process)
>
> this fails :
>
> error is ==> MAKE-PROCESS is an external symbol in the
> MULTIPROCESSING package.
That is not an error. It's just DESCRIBE telling you the home
package of the symbol and whether it's exported from there.
For example:
* (describe 'my-own-symbol)
MY-OWN-SYMBOL is an internal symbol in the COMMON-LISP-USER package.
* (describe 'nil)
NIL is an external symbol in the COMMON-LISP package.
It is a constant; its value is NIL.
DESCRIBE does not know whether you typed mp:make-process or
multiprocessing:make-process. It gets the same symbol in either
case.
So how can we access or call the mp:make-process symbol in Lisp. When
I add the call, it again gives me the same problem. "MAKE-PROCESS is
an external symbol in the MULTIPROCESSING package."
So basically how do I get the lisp code working where-in I have a call
(mp:make-process ... )
Thanks
Kalle Olavi Niemitalo <···@iki.fi> wrote in message news:<··············@Astalo.kon.iki.fi>...
> ········@cs.orst.edu (amit phalgune) writes:
>
> > * (describe (find-package "MP"))
> >
> > I get the correct output.
>
> The output should include:
>
> %NAME: "MULTIPROCESSING".
> %NICKNAMES: ("MP").
>
> i.e., the package is really called MULTIPROCESSING, and MP is
> just a nickname that refers to it.
>
> > * (describe 'mp:make-process)
> >
> > this fails :
> >
> > error is ==> MAKE-PROCESS is an external symbol in the
> > MULTIPROCESSING package.
>
> That is not an error. It's just DESCRIBE telling you the home
> package of the symbol and whether it's exported from there.
> For example:
>
> * (describe 'my-own-symbol)
> MY-OWN-SYMBOL is an internal symbol in the COMMON-LISP-USER package.
>
> * (describe 'nil)
> NIL is an external symbol in the COMMON-LISP package.
> It is a constant; its value is NIL.
>
> DESCRIBE does not know whether you typed mp:make-process or
> multiprocessing:make-process. It gets the same symbol in either
> case.
········@cs.orst.edu (amit phalgune) writes:
> So how can we access or call the mp:make-process symbol in Lisp. When
> I add the call, it again gives me the same problem. "MAKE-PROCESS is
> an external symbol in the MULTIPROCESSING package."
>
> So basically how do I get the lisp code working where-in I have a call
>
> (mp:make-process ... )
I have no particular idea what the problem is here but I suspect you
need to show us more precicsely what you're doing: cut-n-paste what
you actually type at the top-level and what it says back without
leaving anything out. (Assuming of course that it doesn't spew out
reams and reams of output.)
-Peter
--
Peter Seibel ·····@javamonkey.com
Lisp is the red pill. -- John Fraser, comp.lang.lisp
Here is the cut-copy paste output of all I am doing ..
bash%: cmucl
CMU Common Lisp 18c, Built 2000-11-27, running on jasper03.CS.ORST.EDU
Send questions and bug reports to your local CMU CL maintainer, or to
··········@cons.org. and ·········@cons.org. respectively.
Loaded subsystems:
Python 1.0, target SPARCstation/Solaris 2
CLOS based on PCL version: September 16 92 PCL (f)
* (describe (find-package "MP"))
#<The MULTIPROCESSING package, 0/4 internal, 40/44 external> is a
structure of type PACKAGE.
TABLES: (NIL #<Package-Hashtable: Size = 1242, Free = 253, Deleted =
0>).
%NAME: "MULTIPROCESSING".
%NICKNAMES: ("MP").
%USE-LIST: (#<The COMMON-LISP package, 1513/3902 internal, 989/1242
external>).
%USED-BY-LIST: NIL.
INTERNAL-SYMBOLS: #<Package-Hashtable: Size = 44, Free = 4, Deleted =
40>.
EXTERNAL-SYMBOLS: #<Package-Hashtable: Size = 44, Free = 4, Deleted =
0>.
%SHADOWING-SYMBOLS: NIL.
DOC-STRING: NIL.
80 symbols total: 40 internal and 40 external.
* (describe 'mp:make-process)
MAKE-PROCESS is an external symbol in the MULTIPROCESSING package.
*
*features*
(:PCL-STRUCTURES :PORTABLE-COMMONLOOPS :NEW-ASSEMBLER :PYTHON :PCL
:SMALL
:COMPLEX-FP-VOPS :SPARC-V9 :HASH-NEW :RANDOM-MT19937
:PROPAGATE-FUN-TYPE
:PROPAGATE-FLOAT-TYPE :CONSTRAIN-FLOAT-TYPE :CMU18C :CMU18
:NO-HEMLOCK :NO-CLM
:NO-CLX :SOLARIS :SVR4 :SUN4 :SPARC :SPARCSTATION :SUNOS :UNIX
:COMMON :CMU
:NEW-COMPILER :CLTL2 :COMMON-LISP :ANSI-CL :DRAFT-ANSI-CL :X3J13
:IEEE-FLOATING-POINT)
*
/**************/
CMUCL version :
/****************/
CMU Common Lisp 18c, Built 2000-11-27, running on jasper03.CS.ORST.EDU
Send questions and bug reports to your local CMU CL maintainer, or to
··········@cons.org. and ·········@cons.org. respectively.
Loaded subsystems:
Python 1.0, target SPARCstation/Solaris 2
CLOS based on PCL version: September 16 92 PCL (f)
/**************/
This is the OS version:
/*************/
SunOS 5.8 Generic_108528-19 sun4u sparc SUNW,UltraAX-i2
Thanks
Amit
Peter Seibel <·····@javamonkey.com> wrote in message news:<··············@javamonkey.com>...
> ········@cs.orst.edu (amit phalgune) writes:
>
> > So how can we access or call the mp:make-process symbol in Lisp. When
> > I add the call, it again gives me the same problem. "MAKE-PROCESS is
> > an external symbol in the MULTIPROCESSING package."
> >
> > So basically how do I get the lisp code working where-in I have a call
> >
> > (mp:make-process ... )
>
> I have no particular idea what the problem is here but I suspect you
> need to show us more precicsely what you're doing: cut-n-paste what
> you actually type at the top-level and what it says back without
> leaving anything out. (Assuming of course that it doesn't spew out
> reams and reams of output.)
>
> -Peter
········@cs.orst.edu (amit phalgune) writes:
> Here is the cut-copy paste output of all I am doing ..
And where's the error? As far as I can tell, all you did was describe
a package, a symbol, and then look at *FEATURES*. All of which worked.
If you're having a problem invoking the function mp:make-process, it
would be usefull to see what happens when you invoke it!
-Peter
>
> bash%: cmucl
> CMU Common Lisp 18c, Built 2000-11-27, running on jasper03.CS.ORST.EDU
> Send questions and bug reports to your local CMU CL maintainer, or to
> ··········@cons.org. and ·········@cons.org. respectively.
> Loaded subsystems:
> Python 1.0, target SPARCstation/Solaris 2
> CLOS based on PCL version: September 16 92 PCL (f)
> * (describe (find-package "MP"))
>
> #<The MULTIPROCESSING package, 0/4 internal, 40/44 external> is a
> structure of type PACKAGE.
> TABLES: (NIL #<Package-Hashtable: Size = 1242, Free = 253, Deleted =
> 0>).
> %NAME: "MULTIPROCESSING".
> %NICKNAMES: ("MP").
> %USE-LIST: (#<The COMMON-LISP package, 1513/3902 internal, 989/1242
> external>).
> %USED-BY-LIST: NIL.
> INTERNAL-SYMBOLS: #<Package-Hashtable: Size = 44, Free = 4, Deleted =
> 40>.
> EXTERNAL-SYMBOLS: #<Package-Hashtable: Size = 44, Free = 4, Deleted =
> 0>.
> %SHADOWING-SYMBOLS: NIL.
> DOC-STRING: NIL.
> 80 symbols total: 40 internal and 40 external.
> * (describe 'mp:make-process)
>
> MAKE-PROCESS is an external symbol in the MULTIPROCESSING package.
> *
>
> *features*
>
> (:PCL-STRUCTURES :PORTABLE-COMMONLOOPS :NEW-ASSEMBLER :PYTHON :PCL
> :SMALL
> :COMPLEX-FP-VOPS :SPARC-V9 :HASH-NEW :RANDOM-MT19937
> :PROPAGATE-FUN-TYPE
> :PROPAGATE-FLOAT-TYPE :CONSTRAIN-FLOAT-TYPE :CMU18C :CMU18
> :NO-HEMLOCK :NO-CLM
> :NO-CLX :SOLARIS :SVR4 :SUN4 :SPARC :SPARCSTATION :SUNOS :UNIX
> :COMMON :CMU
> :NEW-COMPILER :CLTL2 :COMMON-LISP :ANSI-CL :DRAFT-ANSI-CL :X3J13
> :IEEE-FLOATING-POINT)
> *
> /**************/
> CMUCL version :
> /****************/
>
> CMU Common Lisp 18c, Built 2000-11-27, running on jasper03.CS.ORST.EDU
> Send questions and bug reports to your local CMU CL maintainer, or to
> ··········@cons.org. and ·········@cons.org. respectively.
> Loaded subsystems:
> Python 1.0, target SPARCstation/Solaris 2
> CLOS based on PCL version: September 16 92 PCL (f)
>
> /**************/
> This is the OS version:
> /*************/
>
> SunOS 5.8 Generic_108528-19 sun4u sparc SUNW,UltraAX-i2
>
>
> Thanks
> Amit
>
>
>
>
> Peter Seibel <·····@javamonkey.com> wrote in message news:<··············@javamonkey.com>...
> > ········@cs.orst.edu (amit phalgune) writes:
> >
> > > So how can we access or call the mp:make-process symbol in Lisp. When
> > > I add the call, it again gives me the same problem. "MAKE-PROCESS is
> > > an external symbol in the MULTIPROCESSING package."
> > >
> > > So basically how do I get the lisp code working where-in I have a call
> > >
> > > (mp:make-process ... )
> >
> > I have no particular idea what the problem is here but I suspect you
> > need to show us more precicsely what you're doing: cut-n-paste what
> > you actually type at the top-level and what it says back without
> > leaving anything out. (Assuming of course that it doesn't spew out
> > reams and reams of output.)
> >
> > -Peter
--
Peter Seibel ·····@javamonkey.com
Lisp is the red pill. -- John Fraser, comp.lang.lisp
········@cs.orst.edu (amit phalgune) writes:
> * (describe 'mp:make-process)
>
> MAKE-PROCESS is an external symbol in the MULTIPROCESSING package.
> *
Ah. You mean DESCRIBE doesn't output anything else, such as:
Function: #<Function MULTIPROCESSING:MAKE-PROCESS {102C3B11}>
Function arguments:
(function &key (name "Anonymous") (run-reasons (list :enable))
(arrest-reasons nil) (initial-bindings nil))
That is, the symbol exists, but it is not bound to a function.
> *features*
>
> (:PCL-STRUCTURES :PORTABLE-COMMONLOOPS :NEW-ASSEMBLER
> :PYTHON :PCL :SMALL :COMPLEX-FP-VOPS :SPARC-V9 :HASH-NEW
> :RANDOM-MT19937 :PROPAGATE-FUN-TYPE :PROPAGATE-FLOAT-TYPE
> :CONSTRAIN-FLOAT-TYPE :CMU18C :CMU18 :NO-HEMLOCK :NO-CLM
> :NO-CLX :SOLARIS :SVR4 :SUN4 :SPARC :SPARCSTATION :SUNOS :UNIX
> :COMMON :CMU :NEW-COMPILER :CLTL2 :COMMON-LISP :ANSI-CL
> :DRAFT-ANSI-CL :X3J13 :IEEE-FLOATING-POINT)
Nor is :MP among the features.
> CMU Common Lisp 18c, Built 2000-11-27, running on jasper03.CS.ORST.EDU
According to EncyCMUCLopedia from 2001-06-17: "The CMU CL
multi-processing extension is currently available only on the
x86 port." It seems you are out of luck on the Sparc.
You may be able to use the SERVE-EVENT facility instead.