Cheers, The Lisp or Prolog syntax is sugar for the Domain Specific Language. I think I found a good balance: https://sphotos-a.xx.fbcdn.net/hphotos-snc7/479807_461252883947286_1438557128_n.png The New syntax strikes a balance between too many insipid parentheses and LISP-iness: the command line is parsed internally into a LISP like command proposition. Note that propositions are denoted by parentheses, sequences by square brackets (as in Clojure), bags (i.e., collections allowing duplicate elements) by angle brackets, and sets (i.e., collections without duplicates) by braces. Also just using symbols and spaces to eliminate the need for commas,for brevity and conciseness. That's the idea so far. Now to complete the command definitions, and code, test, and debug. (A quite long TODO list, unfortunately.) ~PM Date: Thu, 14 Mar 2013 13:50:18 -0700 Subject: Re: [agi] Lisp or Prolog? From: [email protected] To: [email protected]
Here's an interesting article on logic programming, arguing in favor of it: http://swannodette.github.com/2013/03/09/logic-programming-is-underrated/ On Sat, Mar 9, 2013 at 8:23 AM, Piaget Modeler <[email protected]> wrote: The Premise language is for storing propositions in the scheme memory of PAM-P2. I'd considered Clojure as an implementation language. Clojure is still an option, but it's major drawback is speed. pure java would be faster. One requirement is that we need to be able to insert hundreds of thousands (if not millions) of propositions per second. We'd need to do some optimization on the code after we'd written it in Clojure to remove unnecessary allocations and deallocations of certain objects. Clojure's advantage is that it is high level and time to market (development speed) is very very good. There are two kinds of propositions in Premise, ephemeral and elemental (perpetual). A perturbation is a type of ephemeral reflective proposition which is used to observe the processing of the system. Predictions, Attempts, Gaps, Needs, Shocks and Serendipities are some examples of perturbations. The word perturbation is taken from the work of Jean Piaget. Perturbations capture disturbances occurring in the system, so that the system can resolve them. Cheers, ~PM ------------------------------------------------------------------------------------------------------------------------------------------------ Confidential - This message is meant solely for the intended recipient. Please do not copy or forward this message without the consent of the sender. If you have received this message in error, please delete the message and notify the sender. Date: Sat, 9 Mar 2013 20:58:42 +0800 Subject: Re: [agi] Lisp or Prolog? From: [email protected] To: [email protected] On Fri, Mar 8, 2013 at 9:42 AM, Piaget Modeler <[email protected]> wrote: Trying on Lisp and Prolog syntaxes for the Premise DSL (domain specific language): https://sphotos-b.xx.fbcdn.net/hphotos-ash4/374452_459261714146403_471118089_n.png The Premise keyword definitions are still in progress: https://sphotos-b.xx.fbcdn.net/hphotos-prn1/164407_459258847480023_1573218128_n.png Your thoughts? Hello Piaget, Are you trying to build a new language? What's it for? What is perturbation in your language? I've been thinking, a language that is robust against perturbations may be good for AGI, as it can undergo slight mutations without breakdown in performance, and thus is suitable for evolutionary techniques. By the way, my AGI project Genifer is written in Clojure. Prolog may be more convenient for certain problems, but ultimately is too inflexible if you need to do acrobatic things. =)YKY AGI | Archives | Modify Your Subscription AGI | Archives | Modify Your Subscription AGI | Archives | Modify Your Subscription ------------------------------------------- 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
