Autocoding project proposal.

Timothy Rue threeseas at earthlink.net
Fri Jan 25 11:31:44 EST 2002


Kragen Wrote:
>"Timothy Rue" <threeseas at earthlink.net> writes:
>> What is the name of the nursery story? Do you know?

>"The Little Red Hen".

>> I'm asking for help in creating this tool. If you are going to wait until
>> it's done, then what will you have to offer? Maybe your just an end user,
>> waiting to use it. And that's OK, because that's who this tool is also
>> for.

>Some of us are busy planting our own wheat.

Oh, I'm sure there is a spectrum of people intensely focused on a project,
to those who are helpping a little here and there in a project to those
who are at the other extream of putting on an act with intent to cleverly
hinder..... and all else inbetween....


On 24-Jan-02 22:20:00 Kragen Sitaker <kragen at pobox.com> wrote:
>"Timothy Rue" <threeseas at earthlink.net> writes:
>> On 23-Jan-02 20:52:54 David Masterson <dmaster at synopsys.com> wrote:
>> >>>>>> phil hunt writes:
>>
>> >> Are you talking about a tool that produces as output, source code in
>> >> some language? (Which is what, for example, my Parrot tool does).
>>
>> >At this point, I think he's talking about a development *philosophy*
>> >without any real nuts and bolts about how to implement that philosophy.
>>
>> Gosh, do you think it can be done with just nuts and bolts
>> (methaphorically speaking - I understand what you are saying).

>Well, I don't know about the bolts, but there are definitely some nuts
>involved!  There's an explanation there of how some crop circles
>explain the structure of "VIC".  But, hey, you could say the same
>thing about Xanadu or geodesic domes.

What is important with that pictogram? Who made it or the fact it does
represent some concepts in a visual manner:

http://www.mindspring.com/~timrue/gotchavic1.html

Where else do we find visual aids? Flow Charts? UML? ???

Perhaps it is my honesty about where I got this diagram came from that
distracts you from what all else there is at the link I gave, from where
you found the diagram?

Or maybe your simply not really interested in helping, but rather intent
on hindering?


>> http://www.mindspring.com/~timrue/python/

>> IQ version 0.351 which does make use of some of the facets of the
>> other 8 commands.

>What does it do?  (Seeing some code does make me feel a lot better.)

>http://www.mindspring.com/~timrue/python/KNMVIC.iq does list some
>details.  There's some kinda ugly code there that implements "IQ", but
>I can't really tell what it does by skimming it.

Could you be more specific to what this "ugly code" is? As KNMVIC.iq
is a document that simple contains near hidden markers for what is a word,
a sub-definition and a file. Which are : :: ::: as mentioned in the
documentation itself.

>Could you post an example consisting of some input, some output, how
>you get the output with IQ, and why that output is useful?

>REMEMBER: There are only Nine Commands.  <-- Actual Quote from Web Site! :)


If you have python installed on your system and in your path assignment:

get and put IQ verion 0.351 in a directory along with KNMVIC.iq

cd to that directory and from a shell

->python

This will give you help of command line options


->python -k KNMVIC.iq * *

this will list all keys in the file KNMVIC.iq and it may even look like
a table of content.

there is also an IQ Q&A web page, though done for the AREXX version of
IQ just read it as refering "python" instead "rx" and forget about
references to "Arexx ports" for GNU doesn't yet have that luxuary. Also
you can forget the "to" arguement also, as in the Python verson you can
simple use the shells ">" to redirect the output to where ever you want.

On the other hand the python version can handle white spaces in patterns
and internet remote files.

http://www.mindspring.com/~timrue/IQ-QA.html

However I do want to tell you this little story about automation using
the Arexx port on Amigas.

I have a program named ImageFX and it, like most all Amiga programs, has
an Arexx port. Only to use it, you don't have to have Arexx running,
though many other amiga programs require Arexx running to use their ports.

I also have the digital arexx manual for it which, as many manuals are,
includes example code for the commands you can send to ImageFX.

After I converted the manual to be able to work with IQ, I issued IQ the
command to send all example code to ImageFX. The command line was
something as simple as:

>rx IQ ImageFX1.port Imagefxarexx.txt * Examp*

And ImageFX then proceeded to do all the examples.

Now ImageFX also has a recorder built in, so you can turn the recorder on
and do somethings in ImageFX and then turn the recorder off and save the
results of the recorder to a file. The results is the sequence of commands
that you did, but in text form.

Problems is, it's not really documented to explain what you did and why
you did it. Only you know that. And if you do enough of this recording and
saving the you'll end up with a bunch of script files that can become
difficult to keep track of. Of course you can go back and add comments to
each of them. But when you go looking for a particulae script and can't
remember the name, then you are left with the manual process of looking at
the content of each file until you realize you no longer have it or that
it's not in the directory you are looking thru.

Or, you can add them all to one file or at least make up a TOC that
references the many files thru IQ. So that with you can quickly see the
"dictionary" of scripts and expose as much of the information in each as
you want. Using one common consistant interface (which have have a GUI
layered on top of. (I have a good beginnings of a GUI for IQ in the Arexx
version, but requires gui4cli which needs AmigaOS 3.0 minimum.)

Now of course this is all about automating the use of a program, but the
same tool and command set can be used to automate code production. I have
a very simple example that provides just a hint or autocoding somewhere on
my web pages.

IQ is only one of nine commands, and in the stand alone version it does
make use of some of the facets of the other commands. But in a more
complete version there is alot of additional control to be had.

If you create a file by the name "lnswitch.on" in the same directory and
run IQ, it will show you what IQ search stack looks like. If the search
goes thru several different files that refer to each other numerious
times, it will show you that IQ is smart enough to not search thru what
it has already looked thru. (there are some test file online that show
this). But there is more to this than just showing you IQ search stack. In
a more complete version of the VIC the PK command will give you a great
deal of control over this stack. As extream as replacing the stack with a
totally different one, if you want. And there is more, but you'd use these
things only when you see they are useful in creating dynamic automations.


Regarding the Arexx ports and using them to automate programs, and how GNU
doesn't really have an established single standard for adding such a port
to programs, libraries, devices, etc., it is possible to figure this out
so that it is simple to add such a port to existing program, etc.. In
seeing the advantage of such, I realize GNU could in essense, change over
nite in having ports installed in the majority of programs, etc..

And the Hurd, on the Mach microkernel.... well Mach uses IPC alot...
(Arexx works via Amiga IPC)


I have a question for you now.

Kragen, where do you fall in the spectrum mentioned in the beginning of
this post?


---
*3 S.E.A.S - Virtual Interaction Configuration (VIC) - VISION OF VISIONS!*
   *~ ~ ~      Advancing How we Perceive and Use the Tool of Computers!*
Timothy Rue      What's *DONE* in all we do?  *AI PK OI IP OP SF IQ ID KE*
Email @ mailto:timrue at mindspring.com      >INPUT->(Processing)->OUTPUT>v
Web @ http://www.mindspring.com/~timrue/  ^<--------<----9----<--------<




More information about the Python-list mailing list