I did find an answer to one question:  There are "modules" and "name spaces"
in Haskell to organize code at the highest level but I am not sure how that
relates to systems that span multiple computers.

 

The following is an excerpt from the 2010 Haskell definition document.

 

Errors in Haskell are semantically equivalent to ? ("bottom"). Technically,
they are indistinguishable from

nontermination, so the language includes no mechanism for detecting or
acting upon errors. However, implementations will probably try to provide
useful information about errors.

 

If error catching isn't built-in, then how could a program recover from
making a programming mistake of its own?

 

As far as defining languages using Haskell as a base, Haskell was considered
to be out of "beta" in only 2010.  Does this sound like the language to
compare all others to?

 

David

 

From: David Clark [mailto:[email protected]] 
Sent: January-25-13 1:35 PM
To: AGI
Subject: RE: [agi] Greenspun's tenth rule and eleventh rule ^_^

 

This post concerns the "eleventh rule".

 

Why would parallelism be tied to Haskell?  Was there parallel code before
Haskell (invented in 1985) and it's not obvious when Haskell actually got
the ability to execute code in parallel?  Mainframes had multiple CPUs
running concurrently by the late 1960's, early 70's.  I remember an IMSAI
computer that used 256 8080 CPUs in 1975 when I bought my first
microcomputer.

 

Our CPU's are inherently sequential like C, Java etc. so is there a
bug-ridden, slow implementation of C in every version of Haskell?

 

For those who think programming AGI would work well in Haskell or Lisp, ask
yourself this question : Will a working AGI be fully programmed by people or
mostly by itself?

 

If you believe that 1, 10 or 2000 algorithms need be created by people and
then all that is needed for liftoff is data that can be learned by the AGI
or uploaded, then languages like C++, Java, C#, Haskell or Lisp might be an
acceptable choice for you.  If you think that programmers must get an AGI to
some level of intelligence and then it will be smart enough to continue to
program itself, then you think that eventually the AGI must be built on a
language where the AGI can act like a programmer from the inside rather than
just from the outside.

 

As we all know, there is no difference between code and data in a computer
other than how it is interpreted.  If you think that a small amount of code
can be produced and then data itself can be executed as if it were code then
you believe that programming (eventually if not from the start) must be done
from the inside while the program runs.

 

Haskell doesn't have the ability to program itself, especially if it is
currently running.  I think Haskell has many other fundamental flaws when
used to create AGI but this alone should stop it's use.

 

Can Haskell:

1.       Coordinate many users or tasks that want access to a single data
structure?

2.       Haskell wants it's functions to have no "side effects" but how then
do you coordinate many functions accessing the same data structure?

3.       What kind of macro structure do all these functions have?  Are all
functions in the same name space?  How does this work over many CPUs in a
single memory space, over a local area network and over the internet?

4.       What tools does Haskell have for coordinating multiple programmers
working on the same project at the same time, from a distance (local area
network or over the internet)?

5.       What mechanism does Haskell have to encapsulate multiple functions
with a data structure?

6.       Does Haskell have a full functioned database facility or does it
depend on an outside RDMS system?

 

Do you believe that AGI is possible without a fast and flexible data store
that is huge, smart and flexible enough to span multiple computers in many
locations?  Is RDMS the answer?  Would you use the built in triggers and
stored procedures to make the data consistent and fast?  If so, where does
Haskell fit into that?  Would it be better if Haskell was put into a RDMS
and allowed to be the triggers and stored procedures?  What if relational
data is fine but more flexibility is needed to create an AGI?  Do you see
the definition for RDMS changing any time soon?

 

This is a relatively long post BUT unlike Ben, I think that the language and
system that an AGI is created in matters.  I am definitely interested in
opposing views!

 

David Clark




-------------------------------------------
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