Uau! That was a very comprehensive answer.

I was not expecting it.

Please note that you don't need to argue for Lisp to me, I also
enjoy the language quite much. Unfortunately the closest I get to
use Lisp based languages on the job are Emacs and Gimp macros.

I cannot sneak Clojure, because on my area of work. FP concepts
are a domain of gods.

It seems you are not aware of Prolog's history. Some of the language
achievements where done at Edinburgh's University. Some of our AI
professors made their Phds/Masters at Edinburgh's University plus
there was a connection between our universities. So Prolog was the
natural choice for AI projects. The other being ML due to a similar
connection
to INRIA.

While at University I actually learned Lisp on my own, thanks to the
'Little Lisper', and the Common Lisp standard.

The problem with Lisp is the same I observed with any programming
language/paradigm. To really understand it, you need to use it, but
many people base their opinion on what others say, without even
trying.

Lisp having a long history behind it, has many bad conceptions spread
around.

--
Paulo



On 14 Aug., 16:46, Ken Wesson <kwess...@gmail.com> wrote:
> On Sun, Aug 14, 2011 at 8:50 AM, Paulo Pinto <paulo.jpi...@gmail.com> wrote:
> > I guess that nowadays many AI systems are mainly programmed in
> > some kind of specialized DSL.
>
> > Sure Lisp based languages are a perfect candidate for it, but the
> > plain
> > mention of Lisp brings up some issues that you cannot get rid of, like
> > the parenthesis.
>
> And what, exactly, is wrong with parentheses?
>
> Put another way: the syntax tree of a program will have some sort of
> particular structure. To the extent that parentheses DON'T determine
> the sub-branches, something else WILL. What do other languages use for
> that "something else"?
>
> * Other delimiters, either characters as in C's { ... } blocks, whole
> words as in "if ... fi" in some shell languages, or other things.
>
> * Significant whitespace, most commonly in languages that use newlines
> to delimit statements (BASIC) but sometimes going much further
> (Python).
>
> * Syntax rules where the positions of various things among various
> keywords determines the structure.
>
> * Precedence rules among math operators.
>
> Drop the first one (Clojure also uses other delimiters) and what we're
> left with is, mostly, icky. Significant whitespace means an editor
> line-wrapping or, in some cases, even reindenting code might change
> its semantics. Syntax rules and precedence rules burden the developer
> with remembering them all, and beyond simple and fairly standardized
> rules such as "* before +" precedence rules tend to be avoided by
> defensive use of ... parentheses. The one language family with a small
> and regular syntax other than Lisp seems to be Smalltalk, and it
> avoids the parentheses, with devastating results: 1 + 3 * 4 comes out
> as 16 instead of 13. Yikes! They just use strict left to right
> evaluation to avoid having complex rules.
>
> > To be honest, while I was at the university I always preferred Prolog
> > to Lisp, due to the close relationship some our professors had with
> > Edinburgh's university.
>
> This seems to be a total non sequitur, like saying you always
> preferred beef to chicken due to the US/Canada border being wiggly
> instead of straight east of North Dakota.
>
> In other words: How, exactly, are your former university's professors
> and Edinburgh's university causally related to a personal preference
> for Prolog? There's no obvious reason why that would be. Does
> Edinburgh's university have a strong focus on Prolog for some reason,
> which "rubbed off" via their professors and your university's
> professors to you?
>
> > I think it is better that the students learn AI than a new programming
> > language
> > with forces them to think in a different way. Learning multiple
> > concepts at
> > the same time is not easy and you might loose students along the way
> > because of it.
>
> > Who knows, maybe some of those students will eventually find their way
> > to
> > Clojure/Lisp.
>
> If they go into AI, it's very likely that will expose them to Lisp at
> some point, yes.
>
> I doubt, on the other hand, that Prolog is a very good language to
> use, odd though that may seem. The problem is that an AI you try to
> develop in Prolog will probably be strongly influenced by the language
> choice towards being a theorem-prover type of system with bells on,
> and natural intelligence Does Not Work That Way. Natural intelligence
> guesses and intuits and invents whole new concepts to create
> simplified models that predict its past sense data, and tests them
> against future sense data. Self-aware intelligence adds a simplified
> model to predict its own past feelings and behaviors (and has
> autobiographical memory so these can be "past sense data"), and tests
> them against future sense data (and, potentially, also against
> simulations spawned using the world models -- think about that as you
> go to sleep tonight). Formal logical reasoning, Prolog style, is
> actually something we had to invent, rather than something we had
> innately. I doubt we'd be anywhere near as prone to various mistakes
> and fallacies in reasoning if we were based on Prolog! On the other
> hand we'd probably not be creative.
>
> In simpler language, logic-based AI has been "done to death" and
> doesn't seem to lead to anything fundamentally new in terms of
> software capabilities (i.e., closer to what we can do, able to
> automate more that we currently have to do ourselves). Of course it
> can be done in principle, since Prolog is Turing-complete, but it may
> be easier in some other language.
>
> Lisp, of course, isn't just "some other language" but a kind of
> language-mother due to the ease with which it spawns DSLs, so the best
> shot probably actually still lies with Lisp. The most advanced AI we
> ever made, able to reason in the most humanlike ways and to invent new
> concepts, was Eurisko, and that was programmed in Lisp. In fact,
> Eurisko was so promising, and we haven't even come close to equaling
> that achievement in the many years since, that I still wonder if the
> government or aliens (:)) or time travelers (:)) or someone put the
> kibosh on that line of research out of fear of Skynet (:)) or
> something.
>
> --
> Protege: What is this seething mass of parentheses?!
> Master: Your father's Lisp REPL. This is the language of a true
> hacker. Not as clumsy or random as C++; a language for a more
> civilized age.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to