Re: [agi] My proposal for an AGI agenda
I'd commend to the LISP hackers' attention the compiler Stalin by Jeff Syskind, who last I knew was at Purdue. I'm uncertain the extent to which the compiler is available, but I imagine if you look around (for example find Syskind's home page) you will find papers or or pointers. My erstwhile collaborator Kevin Lang, initially a skeptic on the subject, ran extensive tests on Stalin and concluded the compiled code was substantially faster than compiled C and C++, even on problems where this was quite surprising. It's possible Kevin published something on these tests. The above is about all I know on the subject, so please don't ask for more details. The above was roughly 10 yrs ago. At the time, both Syskind and Kevin (and me) were at the NEC Research Institute. Presumably there is a catch or you would all be using Stalin ;^( Philip On 3/23/07, Samantha Atknis [EMAIL PROTECTED] wrote: 8,Fast where most of the processing is done. In the language or in things written in the language or both? Lisp has been interpreted and compiled simultaneously and nearly seamlessly for 20 years and has efficiency approaching compiled C in many problem domains. Philip Samantha, you need to provide me with references if you want Philip me to believe this. No LISP compiler has ever been optimized Philip to any serious degree AFAIK. The nature of the language makes Philip it difficult to write efficient code in the first place. And Philip I suspect that these many problem domains don't include any Philip that involve numeric calculations. - This list is sponsored by AGIRI: http://www.agiri.org/email To unsubscribe or change your options, please go to: http://v2.listbox.com/member/?list_id=303
Re: [agi] My proposal for an AGI agenda
On 4/10/07, Eric Baum wrote: I'd commend to the LISP hackers' attention the compiler Stalin by Jeff Syskind, who last I knew was at Purdue. I'm uncertain the extent to which the compiler is available, but I imagine if you look around (for example find Syskind's home page) you will find papers or or pointers. My erstwhile collaborator Kevin Lang, initially a skeptic on the subject, ran extensive tests on Stalin and concluded the compiled code was substantially faster than compiled C and C++, even on problems where this was quite surprising. It's possible Kevin published something on these tests. http://community.schemewiki.org/?Stalin http://en.wikipedia.org/wiki/Stalin_(Scheme_implementation) http://cobweb.ecn.purdue.edu/~qobi/software.html Stalin is an aggressively optimizing Scheme compiler. It is the most highly optimizing Scheme compiler, and in fact one of the most highly optimizing compilers of any sort for any language. Stalin is publicly freely available, licensed under the GNU GPL. It was written by Jeffrey M. Siskind. In detail, Stalin is a whole-program compiler that uses advanced flow analysis closure conversion techniques. It compiles Scheme to highly optimized C. Stalin has a few very significant limitations, however: * it takes a *long* time to compile anything including the compiler * it is not designed for interactive use or debugging * it does not support R4RS/R5RS high-level macros * it does not support the full numeric tower The compiler itself does lifetime analysis and hence does not generate as much garbage as might be expected, but global reclamation of storage is done using the Boehm garbage collector. Scheme http://cbbrowne.com/info/scheme.html http://en.wikipedia.org/wiki/Scheme_(programming_language) Scheme is a LISP dialect that is relatively small, nicely supports tail recursion, provides block structure and lexical scoping, and gives a variety of object types first-class status (e.g. - first class objects are namable and can be passed around as function arguments, results, or as list elements). If Common LISP is considered analogous to C++ (which is not entirely unreasonable), Scheme would comparatively be analogous to C. Where Common LISP requires that the rich functionality (such as a wide variety of data structures and the Common Lisp Object System (CLOS)) come as an intrinsic part of the language, Scheme encourages the use of libraries to provide these sorts of additional functionality. The Scheme libraries are small enough that programmers commonly construct functionality using primitive functions, where a LISP system might have something already defined. This gives additional opportunity either to tune performance or shoot oneself in the foot by reimplementing it poorly... BillK - This list is sponsored by AGIRI: http://www.agiri.org/email To unsubscribe or change your options, please go to: http://v2.listbox.com/member/?list_id=303
Re: [agi] My proposal for an AGI agenda
The Stalin Scheme compiler can be obtained here: http://cobweb.ecn.purdue.edu/~qobi/software.html It is a batch-mode-only compiler, meaning it lacks the interactive aspect that makes languages like LISP and Ruby so nice to use. The optimizations inside the Stalin compiler are quite advanced though not as much so as the stuff inside the Java supercompiler I worked with a while back http://www.supercompilers.com This sort of thing can really speed up numerical, mathematical code quite a lot. Using the Java supercompiler one can get Java code that runs 50 times faster than comparable C code, for various mathematical benchmarks (e.g. the FFT, sorting, etc.). Stalin also has an advanced garbage collector, more so than existing JVM's for example. In practice Stalin is a bitch to use, due to being a slow compiler, having no interactive mode, having no debugger, and other pragmatic irritations. It also leaves out some parts of Scheme. In short, Stalin is a research compiler and probably not slick enough for practical commercial use, but it demonstrates the principle that an optimized LISP compiler can kick ass in batch mode. Just as the Java supercompiler (in spite of its incompleteness at the moment) demonstrates the principle that supercompilation can make Java vastly faster than C++. The reason C++ is the best approach for high-performance computing right now is not anything fundamental -- it's just a matter of the practicalities of currently existing technology. If someone put sufficient $$ or time into making kick-ass optimizing compilers and supercompilers for nicer languages, we'd all be better off. But that doesn't seem to happening at a very rapid rate... And I'm personally more interested in pushing toward AGI than in improving programming language infrastructure... -- Ben G On 4/10/07, Eric Baum [EMAIL PROTECTED] wrote: I'd commend to the LISP hackers' attention the compiler Stalin by Jeff Syskind, who last I knew was at Purdue. I'm uncertain the extent to which the compiler is available, but I imagine if you look around (for example find Syskind's home page) you will find papers or or pointers. My erstwhile collaborator Kevin Lang, initially a skeptic on the subject, ran extensive tests on Stalin and concluded the compiled code was substantially faster than compiled C and C++, even on problems where this was quite surprising. It's possible Kevin published something on these tests. The above is about all I know on the subject, so please don't ask for more details. The above was roughly 10 yrs ago. At the time, both Syskind and Kevin (and me) were at the NEC Research Institute. Presumably there is a catch or you would all be using Stalin ;^( Philip On 3/23/07, Samantha Atknis [EMAIL PROTECTED] wrote: 8,Fast where most of the processing is done. In the language or in things written in the language or both? Lisp has been interpreted and compiled simultaneously and nearly seamlessly for 20 years and has efficiency approaching compiled C in many problem domains. Philip Samantha, you need to provide me with references if you want Philip me to believe this. No LISP compiler has ever been optimized Philip to any serious degree AFAIK. The nature of the language makes Philip it difficult to write efficient code in the first place. And Philip I suspect that these many problem domains don't include any Philip that involve numeric calculations. - This list is sponsored by AGIRI: http://www.agiri.org/email To unsubscribe or change your options, please go to: http://v2.listbox.com/member/?list_id=303 - This list is sponsored by AGIRI: http://www.agiri.org/email To unsubscribe or change your options, please go to: http://v2.listbox.com/member/?list_id=303
Re: [agi] My proposal for an AGI agenda
Philip Samantha, you need to provide me with references if you want Philip me to believe this. No LISP compiler has ever been optimized Philip to any serious degree AFAIK. The nature of the language makes Philip it difficult to write efficient code in the first place. And Philip I suspect that these many problem domains don't include any Philip that involve numeric calculations. Philip, I think your latter sentence is exactly wrong! Mathematical code is exactly what's MOST EASILY OPTIMIZABLE using techniques as exist in the Stalin Scheme compiler, or better yet in the Java supercompiler. Each numeric operation is of course no faster after optimized or super compilation; but these advanced compilation techniques can reorganize the math in the code so as to require fewer numeric operations. And these advanced compilation techniques are easier to apply to LISP or Refal or Haskell than to Java, and easier to apply to Java than to C++ So, mathematical code is exactly where one should expect the largest advantage of optimized LISP over Java or C++ ... -- Ben G - This list is sponsored by AGIRI: http://www.agiri.org/email To unsubscribe or change your options, please go to: http://v2.listbox.com/member/?list_id=303
Re: [agi] My proposal for an AGI agenda
On 4/10/07, Benjamin Goertzel [EMAIL PROTECTED] wrote: Mathematical code is exactly what's MOST EASILY OPTIMIZABLE using techniques as exist in the Stalin Scheme compiler, or better yet in the Java supercompiler. Each numeric operation is of course no faster after optimized or super compilation; but these advanced compilation techniques can reorganize the math in the code so as to require fewer numeric operations. And these advanced compilation techniques are easier to apply to LISP or Refal or Haskell than to Java, and easier to apply to Java than to C++ Why is that? BTW, for numeric computation in Java, see the Colt package put out by CERN. - This list is sponsored by AGIRI: http://www.agiri.org/email To unsubscribe or change your options, please go to: http://v2.listbox.com/member/?list_id=303
Re: [agi] My proposal for an AGI agenda
And these advanced compilation techniques are easier to apply to LISP or Refal or Haskell than to Java, and easier to apply to Java than to C++ Why is that? well... C++ has pointers, which basically rule out sophisticated compilation techniques like partial evaluation and supercompilation. Java has no fundamental problems like that, it's just a big language, which means the actual practice of applying sophisticated compilation techniques to Java is a pain. As an example, roughly 5 times as much work was put in on the Java supercompiler than was put in previously on the Refal supercompiler (Refal is a simple AI language, sorta the Russian counterpart of LISP), but the Refal supercompiler is further advanced. The Java supercompiler works OK now for Java code that is written with the supercompiler's currently limitations in mind, but hasn't yet been extended to cope with all of Java. Anyone who wants to invest $500K or so in completing the Java supercompiler let me know and I'll connect you with the supercompilers guys ;-) -- Ben - This list is sponsored by AGIRI: http://www.agiri.org/email To unsubscribe or change your options, please go to: http://v2.listbox.com/member/?member_id=231415user_secret=fabd7936
Re: [agi] AGI interests
as a person: nihilism the human condition. crime, drugs, debauchery. self-destructive and life-endangering behaviour; rejection of social norms. the world as I know it is a rather petty, woeful place and I pretty much think modern city-dwelling life is a stenchy wet mouthful of arse - not to say that living and dying in depravity and pain like every one of my ancestors wasn't a whole lot worse. I'm far from finding much in the Modern|West that is particularly engaging, but luckily enough also think the Old|East was even more pathetic and that naturalist hippies should be shot for their banal bovinity. I get somewhat of a kick out of the fact that I might be risking the chance to live forever by being such a societal refusenik. amen brother. ^_^ On 3/28/07, kevin. osborne [EMAIL PROTECTED] wrote: Everyone on this list is quite different. What about the rest of you, what are your interests? as a programmer: skilling up in cognitive systems in a fairly gradual way so I'm ready and able to contribute when human-level (though not necessarily -like) reasoning becomes a solved problem in the mathematics|theory domain and needs competent programmers (which I'm very far from being at this point, even after 10 years in the field) as a fan of AGI: watching the smart guys (like Novamente) do the real work of laying out the problem domain in theory and positing solutions that make the leap between sound logic and running code. I'm not as happy with all the blowhard action from others who are seemingly incompetent in regards to making the leaps between undertanding_cogniton-implementable_theory_of_thought-code-real_AGI_results but am aware that the more people who are trying the better and as someone with -zero- theories am aware that I'm a mere critic so -try- to keep my scepticism to myself. as a techie: scepticism. I think the 'small code' and 'small hardware' people are kidding themselves. The CS theory|code we have today is pretty much universally a complete bucket of sh!t and the hardware networking (while better) is still kinder toys compared to where it could be. We are just -so- damn far away from say being able to build hardware/software into things like ubiquitous (i.e. motes everywhere) nanotech. Thinking that a semi-trivial set of code loops will somehow become meta-cognitive is ridiculous and a tcpip socket does not a synapse make. as a singulatarian: big fan; I think it's inevitable, and that things are definitely starting to snowball - see http://del.icio.us/kevin/futurism. Can't say I'm buying into any 'when' predictions quite yet though. as a person: nihilism the human condition. crime, drugs, debauchery. self-destructive and life-endangering behaviour; rejection of social norms. the world as I know it is a rather petty, woeful place and I pretty much think modern city-dwelling life is a stenchy wet mouthful of arse - not to say that living and dying in depravity and pain like every one of my ancestors wasn't a whole lot worse. I'm far from finding much in the Modern|West that is particularly engaging, but luckily enough also think the Old|East was even more pathetic and that naturalist hippies should be shot for their banal bovinity. I get somewhat of a kick out of the fact that I might be risking the chance to live forever by being such a societal refusenik. - This list is sponsored by AGIRI: http://www.agiri.org/email To unsubscribe or change your options, please go to: http://v2.listbox.com/member/?list_id=303 - This list is sponsored by AGIRI: http://www.agiri.org/email To unsubscribe or change your options, please go to: http://v2.listbox.com/member/?member_id=231415user_secret=fabd7936