[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:Mon Jun 14 07:07:18 2002 
Subject:Re: query about popc and objectclass 
From:steve 
Volume-ID:1020614.01 

Hi,

Matthias Scheutz (http://www.nd.edu/~mscheutz/) wrote:
| For now, I have a (hopefully) simple question about POPC: I want to make a
| standalone version of SIMWORLD, which people can use (without having to
| install the POPLOG).  However, I keep running into problems compiling
| objectclass (have not even gotten to SIMAGENT or SIMWORLD yet...).  This
| is what I get when I try to compile objectclass.p (either alone or when I
| try to compile SIMWORLD):

Unfortunately I wrote ObjectClass prior to POPC being generally 
available, even in a preview version.  I guessed as to what the 
limitations would be but, alas, I guessed wrongly.  Wildly wrongly. 
I have always been under the impression that ObjectClass breaks so 
many of the ghastly POPC limits that there was no prospect of getting 
it working properly.

| [root@mattlaptop simworld332]# popc testo.p
| ;;; DECLARING VARIABLE OBJECTCLASS_IN_POPC
|
| ;;; MISHAP - POPC: ILLEGAL ASSIGNMENT TO CONSTANT IDENTIFIER
| ;;; INVOLVING:  1100 pop_oc_version
| ;;; FILE     :  /usr/local/poplog/v15.53/pop/lib/objectclass/objectclass.p
| ;;;       LINE NUMBER:  19

This particular problem looks simple: the command "lib objectclass" 
causes a short file to be loaded that establishes a few necessary 
facts about the loading environment (mainly so you can establish the 
ObjectClass development environment as an alternative to the normal 
running mode.)  It should be easy to track down where pop_oc_version 
is declared and assigned to in the loading sequence since it will be 
in the somewhat casually written short loading file.


| The documentation on objectclass says that it should compile, so I take it
| I must be doing something wrong...  Maybe you have an idea?  Thanks.

This is news to me!  If I had a working copy of Poplog available I 
would try to find this documentation myself.  Could someone post me 
the relevant snippet - I'd love to see this!

Aaron Sloman wrote:
>I guess another option is to produce a package made of two files
>	executable(basepop11)+saved image,
>(plus a shell script to run them) which has been used for some
>commercial packages.

Yes, this is the only general method for delivering Poplog 
applications.  This is similar to (although clumsier than) how Perl 
and Python work, of course, so it is a generally acceptable delivery 
method.

It is a _great_ shame that there is no option for dumping saved 
images with a leading line "#!/usr/local/poplog/pop/com/run_psv" (or 
whatever) so that you can just set "chmod a+x" and avoid the tedium 
of having to coordinate the location of script and saved image.  (I 
guess you would want to be able to specify the string that is put 
after the "#!".)  This would actually make saved images much, much 
more useful than they currently are.

In a similar vein, it would be _very_ nice if there was a way to 
write standalone "#!" scripts just like Perl or Python.  My feeling 
is that we would need a special executable for this because of the 
limitations for processing arguments for #! scripts and Poplog has 
become rather complicated in its command line requirements.  I 
embarked on this work a couple of years ago, got a long way and ran 
out of time.  I would be happy to share my documentation and C source 
code it with anyone else who is interested.

-- 
Steve