SCOUG-Programming Mailing List Archives
Return to [ 04 |
January |
2004 ]
<< Previous Message <<
>> Next Message >>
Content Type: text/plain
Gregory Smith writes:
"...Please explain HOW logic programming generates and solves
these hundred thousand simultaneous algebraic equations."
While it pleases me to see so many enjoying this thread, I feel
less joy in my apparent failure to communicate. For example,
I know in the course of this thread that I tried to take focus
away from SL/I and on to logic programming, specifically its
use of the two-stage proof engine. I further went on to state
that even imperative languages could gain from its use. Now
basically SL/I is PL/I plus logic programming plus some
operators from APL and plus a list aggregate from LISP.
Therein contrary to opinions by Steven Levine it has more
functional capabilities and features than all other
programming languages combined. That means it can do
anything as well as any other programming language. In the
end it is just a programming language.
I neglected in my reply to Steven's comments about "nature"
liking variety that rumor has it that "nature" also abhors a
vacuum. Perhaps no greater vacuum exists in software
development than in its current crop of IDEs.
I admit I didn't and still don't understand Peter's comments
about numeric components that he processes in his HLL to
take advantage of an instruction set. Peter has yet to
provide an example on this one.
Now I come upon a man who creates tens of thousands of
discrete cells, upwards of one hundred thousand. Each cell
has to contain four distinct values. That's simple enough to
specify: "dcl 1 cells (317,317), 2 values (4) dec float (x);".
Now he has to calculate 400,000 values to assign to the cells.
It makes no difference if he does it inside or outside the
program, that's 400,000 statements. Then he has to write
differential equations with 100,000 variables (cells) with 4
coefficients each. Obviously I haven't interpreted what he has
done correctly. Otherwise he would not have time for this
thread and maybe a grandchild might signal when all that
writing is done.
Now his question remains of what value logic programming has
in this situation. We know from what he has said that he
coded it in some language. Whatever that language we know
he could have just as easily done it in SL/I. So at least there
we have a wash until he gets to a situation more amenable to
logic programming. It's value lies in like PL/I you don't need to
learn anything else as you don't need to worry about the type
of problem you want to solve. The value of logic
programming lies in that your specifications are your program,
saving you from having to do analysis, design, and a separate
construction. You get in in one step instead of four.
The purpose of this exercise, of logic programming, of SL/I, of
the DA lies in saving people time and effort, i.e. increased
productivity. In worst case in some situation you may end up
with zero savings. In that case almost certainly you are using
some implementation based on logic programming. You have
one logic programming implementation equal in all aspects to
another.
Again it lies in the use of a two-stage logic engine. It's not
based on any particular programming language. It's a means
of enhancing any HLL programming language. As I don't have
a depth of understanding of this application necessary to
answer this in a more complete manner, I will have to leave it
at that.
=====================================================
To unsubscribe from this list, send an email message
to "steward@scoug.com". In the body of the message,
put the command "unsubscribe scoug-programming".
For problems, contact the list owner at
"rollin@scoug.com".
=====================================================
<< Previous Message <<
>> Next Message >>
Return to [ 04 |
January |
2004 ]
The Southern California OS/2 User Group
P.O. Box 26904
Santa Ana, CA 92799-6904, USA
Copyright 2001 the Southern California OS/2 User Group. ALL RIGHTS
RESERVED.
SCOUG, Warp Expo West, and Warpfest are trademarks of the Southern California OS/2 User Group.
OS/2, Workplace Shell, and IBM are registered trademarks of International
Business Machines Corporation.
All other trademarks remain the property of their respective owners.
|