In the past we have discussed the requirements of a prospective AGI
implementation language. On other forums and in conferences I have also
discussed implementation languages for WSI (Wafer Scale Integrated
circuits). WSI isn't quite as crazy as it sounds, because there is a way of
building fault-tolerant processors that removes all limits on size and
complexity, and postage-stamp-sized processors could be made side-by-side
with conductors interconnecting what would otherwise be their bonding pads.

Ignoring the syntax issues for the moment and looking VERY closely at the
gaps between what can now be written and desired semantics, the problems
seem to center around the present-day concept of "variables".

In mathematics, variables are truly variable in they state relationships
and NOT the state at any particular moment or condition. In programming,
variables state a particular value at a particular time and conditions, but
in so doing so aren't truly variable any more, but rather are static and
subject to periodic change. Of course, stating the relationships between
static variables is what programming is all about.

There is a growing body of evidence that the baby has been thrown out with
the bathwater in adopting present-day computer variables to represent AGI
things, because it GREATLY complicates temporal learning. On the VLSI/WSI
side, when turning concepts into long pipelines of ALUs to do really
complex computations at blazing speeds, there is presently NO language that
supports such things, though some people have experimented with a sort of
gelded C where highly constrained loops are unwound into pipelines of ALUs.

I could envision a language where variables are truly variable, but where
declarations or some sort of control mechanism would allow their
incremental evaluation (within stated bounds) to implement on digital
computers possible, which of course would be ignored when running the same
code on a programmable analog computer. This would be a language of
formulas on continuously varying variables.

Bidirectional computing could be implemented by solving the formulas for
each of their constituent variables and running each of the resulting
formulas in parallel. This would be less efficient than a genuine
bidirectional implementation, but would provide an apparently usable path
in that direction.

Such a language would at least make it possible to write the stuff we have
been talking about here, and move it to future WSI processors for real-time
execution. It should also be a relatively simple matter to write a PC
compiler to run this stuff at home - at a zillionth the speed.

What (if anything) am I missing here? Do you know of any related language
that already exists? APL seems to come closest by turning all variables
into arrays, but APL doesn't actually get there, though it WAS used to help
design the IBM-360 series of computers

Thoughts? Suggestions? Ideas?

Steve



-------------------------------------------
AGI
Archives: https://www.listbox.com/member/archive/303/=now
RSS Feed: https://www.listbox.com/member/archive/rss/303/21088071-f452e424
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=21088071&id_secret=21088071-58d57657
Powered by Listbox: http://www.listbox.com

Reply via email to